**1.**理解面向对象
面向对象是相对面向过程而言
面向对象和面向过程都是一种思想
面向过程:强调的是功能行为
面向对象:将功能封装进对象,强调具备了功能的对象。
面向对象是基于面向过程的。
**2.**差异(面向对象的好处):
1,面向对象是一种更符合人们思考习惯的思想。
2,面向过程中更多的体现的是执行者,面向对象中更多的体现是指挥者。
指挥对象做事情。
3,面向对象将复杂的问题简单化了。
在面向对象的世界中:万物皆对象。
**3.**面向对象的特征:
封装(encapsulation)
继承(inheritance)
多态(polymorphism)
**4.**面向对象应用到需求中:
在需求中尽量的去寻找对象。(从问题领域中抽取对象)
最简单的思考访问:一般情况,名词表示的大多是对象。
**3.**总结:
1,先按照名词提取问题领域中的对象。
2,对对象进行描述,其实就是在明确对象中应该具备的属性和功能。
3,通过new的方法就可以创建该事物的具体对象。
4,通过该对象调用它以后的功能。
**5.**类与对象关系:
类:对事物的描述。需要体现属性和行为。
对象:该类事物创建的实例(实体),通过该对象调用具有的属性和行为。
成员变量和局部变量的区别:
区别一:定义的位置不同。
成员变量定义在类中。
局部变量定义在方法中以及语句里。
区别二:在内存中的位置不同。
成员变量存储在堆内存的对象中。
局部变量存储在栈内存的方法中。
区别三:生命周期不同。
成员变量随着对象的出现而出现,随着对象的消失而消失。
局部变量随着的方法的运行而出现,随着方法的弹栈而消失。
区别四:初始化不同。
成员变量因为在堆内存中,所有默认初始化值。
局部变量没有默认初始化值,必须初始化后才可以使用。
**6.**匿名对象是对象的简化形式
匿名对象两种使用情况
当对对象方法仅进行一次调用的时
匿名对象可以作为实际参数进行传递
**7.**封装。
引出:函数,类都是封装体。
好处:1,复用性,2,隐藏细节,对外提供访问方式。3,安全性。
封装的体系之一:private(私有)。
不需要对外提供的都私有化。
尤其是成员变量私有化,对外提供set get方法。
**8.**构造函数特点:
函数名与类名相同
不用定义返回值类型
没有具体的返回值。
作用:
给对象进行初始化。
9. this关键字特点:
this代表其所在函数所属对象的引用。
什么时候使用this关键字呢?
当在函数内需要用到调用该函数的对象时,就用this。
例程。
**10.**static关键字:
用于修饰成员(成员变量和成员函数)
被修饰后的成员具备以下特点:
1.随着类的加载而加载
2.优先于对象存在
3.被所有对象所共享
4.可以直接被类名调用