网站建设岗位能力评估表,随便来一个公司邮箱,免备案虚拟主机哪家强,建材建设网站引入面向对象 面向对象的由来: 面向对象编程#xff08;Object-Oriented Programming, OOP#xff09;是一种编程范型#xff0c;其由来可以追溯到20世纪60年代。在此之前#xff0c;主流编程语言采用的是“过程化编程”模式#xff0c;即面向过程编程模式。在这种模式下Object-Oriented Programming, OOP是一种编程范型其由来可以追溯到20世纪60年代。在此之前主流编程语言采用的是“过程化编程”模式即面向过程编程模式。在这种模式下程序主要由一组函数或子程序组成数据和函数是分离的。 然而随着软件规模和复杂性的增加过程化编程的不足逐渐显现必须通过全局变量或输入参数来传递信息、代码复用困难、代码难以维护等问题。为了解决这些问题人们开始寻求一种新的编程范型。 在此背景下Alan Kay等人提出了面向对象编程这一概念提供了一种新的软件设计和实现方法从而被广泛应用于软件开发中。面向对象编程将数据和函数封装为对象强调数据的本质和操作数据的行为作为一体多态、继承等特性可以让我们更加灵活地设计、组织、重用和维护程序。 到20世纪80年代面向对象编程得到了广泛的推广和应用C、Java、Python等编程语言都具有良好的面向对象支持。 综上所述面向对象编程是为了解决过程化编程的不足和应用需求而产生的一种新的编程思想和技术已经成为现代软件开发的重要组成部分。 这不禁想对比一下面向对象VS面向过程
面向过程和面向对象都是对软件分析、设计和开发的一种思想,它指导着人们以不同的方式去分析、设计
和开发软件。早期先有面向过程思想随着软件规模的扩大问题复杂性的提高面向过程的弊端越来
越明显的显示出来出现了面向对象思想并成为目前主流的方式。两者都贯穿于软件分析、设计和开发
各个阶段对应面向对象就分别称为面向对象分析OOA、面向对象设计OOD和面向对象编程
OOP。C语言是一种典型的面向过程语言Java是一种典型的面向对象语言。
总结一下异同点如下如何new对象 在Java中我们可以通过关键字new来创建一个对象。具体步骤如下 使用关键字new创建一个对象引用该对象的类型是我们所需创建的类的类名。 例如Student student1; 在新建对象引用后需要使用关键字new调用类的构造方法创建该对象实例。在括号中传入构造方法需要的参数。 例如student1 new Student(“001”, “Tom”, “男”, 20, 80.5); 上述代码将创建一个学生对象并将此对象的sNO、sName、sSex、sAge、sJava属性分别初始化为001、“Tom”、“男”、20和80.5。 Student() students new Student();例题 请定义一个交通工具(Vehicle)的类其中有: 属性 速度(speed)、 体积(size)等方法移动(move())、设置速度(setSpeed(int speed))、加速 speedUp()、减速 speedDown()等。最后在测试类 Vehicle 中的 main()中实例化一个交通工具对象并通过方法给它初始化 speed,size 的值并且通过打印出来。另外调用加速、减速的方法对速度进行改变 public class Vehicle {//Vehicle实体类int speed; // 速度int size; // 体积public void move() {System.out.println(Vehicle is moving.);}public void setSpeed(int speed) {this.speed speed;}public void speedUp() {speed 10;}public void speedDown() {speed - 10;}
}
public class TestVehicle {//测试类TestVehiclepublic static void main(String[] args) {Vehicle v new Vehicle(); // 创建交通工具对象v.setSpeed(60); // 设置速度为60v.size 3; // 设置体积为3System.out.println(Speed: v.speed);System.out.println(Size: v.size);v.speedUp(); // 加速System.out.println(New speed after speeding up: v.speed);v.speedDown(); // 减速System.out.println(New speed after speeding down: v.speed);}
}
总结 在使用面向对象的思想进行程序设计时有一些需要特别注意的点包括以下几个方面 面向对象的三大特征封装、继承和多态。在设计类时需要考虑这些特征的应用同时遵循单一职责原则使类的功能更加清晰和简洁。 对象的生命周期。在Java中对象创建后会一直存在于内存中直到垃圾回收器回收其占用的内存。因此在使用对象时要注意对象的生命周期及时对不再使用的对象进行置空或释放内存。 对象之间的关系。在设计类时需要考虑类之间的关系包括依赖、关联、聚合和组合等。同时还需注意避免出现过度耦合的情况遵循迪米特法则确保类与类之间的独立性。 代码的可维护性。在编写代码时需要注意代码的可读性、可复用性、可扩展性和可测试性等方面以确保代码的可维护性。同时还需注意代码的规范性和风格的统一性使其他人更易于理解和修改代码。 异常处理。在程序运行中可能会发生各种异常情况如空指针异常、数组越界异常等。因此在编写代码时需要考虑这些异常情况并进行相应的异常处理以保证程序的稳定性和可靠性。 综上所述面向对象的程序设计需要在多个方面进行注意包括类的设计、对象的生命周期、对象之间的关系、代码的可维护性和异常处理等。只有在这些方面都做到了充分考虑并合理处理才能编写出高质量、易维护的面向对象程序。 补充 构造方法 何为构造方法、构造方法的用法与细节 解答1. 构造方法的名称必须与类名相同。2. 构造方法可以有参数也可以没有参数。3. 构造方法没有返回值类型也不需要显式地写出 return构造方法的创建
无参构造public class Person {private String name;private int age;//无参构造方法public Person() {}
}有参构造public class Person {private String name;private int age;// 有参构造方法public Person(String name, int age) {this.name name;this.age age;}
}无参和有参构造public class Person {private String name;private int age;//无参构造方法public Person() {}// 有参构造方法public Person(String name, int age) {this.name name;this.age age;}
}