博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

重温面向对象

Posted on 2013-12-03 11:04  Lillian Mao  阅读(131)  评论(0编辑  收藏  举报

面向对象的三大特征:封装(Encapsulation) 继承(implementation)和多态(multip-status)

开发实际上是 查找对象,创建对象和使用对象,还包括以后的维护对象。

当我们做一件事情的时候,最快捷高效的方法是找到可以做这件事的人(对象),调用这个人的某个特有的方法去做这件事情:

比如, 公司招人的时候使用   HR.查询简历   HR.预约面试   面试官.面试

对于每句需求描述,我们采取名词提炼法,从所有的名词中建立对象,为了确定要将特定的动作给哪个对象,我们可以根据哪个对象对所执行的动作的内部细节最清楚来决定。

动作所改变的是对象内部的特定的状态。

 

类是对对象的抽象描述,包括实物的属性和行为描述 。 对象的特点是封装数据。

每个对象是一个实际存在在内存中的实体。  这些实体实际上存放在内存堆中,而我们给这个对象起的名字是一个地址指针,指向那个堆中的内存地址。这个地址放在栈中。

堆内存中的所有变量都有个默认初始化值

 

成员变量和局部变量的区别:

成员变量和局部变量的区别
  成员变量 局部变量
作用域 整个类中 函数中或语句中
内存中 存放在堆中,因为对象的存在而存在 栈中,从声明时开始存在

 

匿名对象

 

1. 当对象的方法(只是方法没有属性,因为调用属性基本没有什么意义)调用只需要调用一次的时候,可以使用匿名对象。这种方法比较简化。

new Car().run(); 但是当对一个对象的多个成员进行调用的时候,需要给对象一个名字。

 

2. 可以将匿名对象作为实参进行参数传递