面向对象的三大特征:封装(Encapsulation) 继承(implementation)和多态(multip-status)
开发实际上是 查找对象,创建对象和使用对象,还包括以后的维护对象。
当我们做一件事情的时候,最快捷高效的方法是找到可以做这件事的人(对象),调用这个人的某个特有的方法去做这件事情:
比如, 公司招人的时候使用 HR.查询简历 HR.预约面试 面试官.面试
对于每句需求描述,我们采取名词提炼法,从所有的名词中建立对象,为了确定要将特定的动作给哪个对象,我们可以根据哪个对象对所执行的动作的内部细节最清楚来决定。
动作所改变的是对象内部的特定的状态。
类是对对象的抽象描述,包括实物的属性和行为描述 。 对象的特点是封装数据。
每个对象是一个实际存在在内存中的实体。 这些实体实际上存放在内存堆中,而我们给这个对象起的名字是一个地址指针,指向那个堆中的内存地址。这个地址放在栈中。
堆内存中的所有变量都有个默认初始化值
成员变量和局部变量的区别:
成员变量 | 局部变量 | |
作用域 | 整个类中 | 函数中或语句中 |
内存中 | 存放在堆中,因为对象的存在而存在 | 栈中,从声明时开始存在 |
匿名对象
1. 当对象的方法(只是方法没有属性,因为调用属性基本没有什么意义)调用只需要调用一次的时候,可以使用匿名对象。这种方法比较简化。
new Car().run(); 但是当对一个对象的多个成员进行调用的时候,需要给对象一个名字。
2. 可以将匿名对象作为实参进行参数传递