面向对象和面向过程的区别
1.面向过程:强调的是功能行为,以函数为最小单位,考虑的是怎么做。
2.面向对象:强调具备了功能的对象,以类、对象为最小单位,考虑的是谁来做。
通过面向对象完成一个项目或者功能的思路
1.根据问题的需要,选择问题所针对的现实世界中的实体
2.从实体中寻找问题相关的属性和功能,这些属性和功能就形成了概念世界中的类。
3.把抽象的实体用计算机语言进行描述,形成计算机世界中类的定义。再借助某种程序语言,把类构造成计算机能够识别和处理的数据结构。
4.将类实例化成计算机世界中的对象。对象是计算机世界中解决问题的最终工具。
面向对象中的两个重要概念
类:对一类事物的描述,是抽象的、概念上的定义
对象:是实际存在的该类事物的每个个体,因而也称为类的实例,即实例(instance)
1.面向对象程序设计的重点是在类的设计
2.设计类,就是设计类的成员
类与对象两者的关系
对象是由类new出来的,派生出来的。
面向对象思想落地实现的步骤
1.创建类,设计类的成员
2.创建类的对象
3.通过“对象.属性”或“对象.方法”调用对象的结构
对象的创建
Student stu1 = new Student( );
Student stu2 = new Student( );
如果创建了一个类的多个对象,每个对象都独立的拥有一套类的属性(非static),意味着:如果我们修改了一个对象的属性a,则不影响另外一个对象对属性a的值。
注:
Student stu3 = stu1;此时stu3与stu1共同使用一个堆空间中的对象实体,此时是将stu1的地址赋给了stu3。
匿名对象
顾名思义,我们创建了一个对象,但是没有显式的赋给一个变量名,即为匿名对象
匿名对象的特点:匿名对象只能调用一次。即用过一次就作废。
匿名对象的应用场景:
StudentList stuList = new StudentList( );
stuList.showInfo(new Student( ));
class StudentList{
public void showInfo(Student stu ){
stu.showName( );
stu.showId( );
}
}