面向对象理解:
面向对象是相对于面向过程来说的,例如某个人工作很忙,没时间打扫房间,于是请来钟点工帮忙打扫。钟点工在这里就是那个对象,雇主请她打扫卫生是因为钟点工有打扫卫生的功能,雇主就是请来钟点工后只需要指挥钟点工打扫卫生即可,雇主这就从一个执行者变成了一个指挥者。
面向对象是一种思想,它让复杂的事情变简单,让我们角色转变,从执行者到指挥者。
面向过程——>面向对象:执行者——>指挥者
面向对象的三个特征:封装、继承、多态
开发:找对象、建立对象、维护对象的功能。(名词提炼法)
封装:隐藏对象的属性和实现细节,仅对外提供公共的访问方式;可以在访问方式中加入逻辑判断等语句,提高代码健壮性。
类:对现实生活中事物的描述。
对象:实实在在存在的个体。
定义类就是在描述事物,就是在定义属性和行为,属性和行为都是类中的成员。属性对应的是类中的变量,行为对应的是类中的函数(方法)。
匿名对象的使用:
1.当对对象的方法只调用一次时,可以使用匿名对象;当对一个对象进行多个成员的调用,必须给这个对象起一个名字。
2.可以将匿名对象作为实际参数进行传递。
public:公有修饰符。
private:私有修饰符,用于修饰类中的成员(成员函数、成员变量),被private修饰的成员只在本类中有效(只可在本类中进行访问)。
构造函数:
函数名与类名一致,不需要定义返回值类型,不可以用return语句,对象一建立就会调用与之对应的构造函数。
作用:可以用于给对象进行初始化。
当一个类中没有定义构造函数时,那么系统会默认给该类加上一个空参数的构造函数;当自己定义了一个构造函数时,系统将不再定义空参数的构造函数。
构造函数与一般函数在写法上有不同,在运行上也有不同,构造函数是在对象一建立就执行,给对象进行初始化,而一般方法是对象调用时才执行。
一个对象建立,构造函数只运行一次,而一般方法可以被对象多次调用。
什么时候定义构造函数?
当分析事物时,给定事物具备一些特性或者行为,那么将这些特性定义在构造函数中。
this:
看上去是用于区别局部变量和成员变量同名的情况。
this.name = name;后面的name是成员局部变量的name,this代表本类对象,代表它所在函数所属对象的引用。哪个对象在调用this所在函数,this就代表哪个对象。
this的应用:
1.当定义类中的功能时,该函数内部要用到调用该函数的对象时,这时用this表示该对象。
2.用于构造函数之间互相调用。构造函数之间调用this(name)只能定义在构造函数第一行,因为初始化动作要先执行。
构造代码块:对对象共同的属性进行初始化。每次建立新对象都调用。