您的位置:首页 > 职场人生

黑马程序员--面向对象

2012-12-18 18:15 204 查看
http://edu.csdn.net/heima android培训
http://edu.csdn.net/heima ; java培训期待与您交流!


面向对象
1、面向过程:是一种思想。

2、面向对象:是一种思想,相对于面向过程。

示例:将大象装进冰箱里。

去点脑城买电脑。

找对象洗衣服

3、面向对象的特点

1、符合现在人们的思考方式。

2、将复杂问题变简单化。

3、将过程中的执行者,转换成指挥者。

4、如何用面向对象思想解决问题:

分析问题时,先找所需功能的对象,如果没有这个对象,我们可以自己造一个具备这些功能的对象,然后将这些功能进行封装,以后每次使用就直接调用这个对象就行了。

5、类和对象的关系?

类是对一类事物的描述,而对象是根据这个类描述创建出来的事实在在的实体。

6、注意。

创建对象依赖的是class文件。

创建对象,给对象赋值,改变的是对象中的的值,不是类中的值。

7、在类中的体现:

属性:成员变量。

行为:成员函数。

描述类就是在定义成员,成员包含成员变量和成员函数。

8、成员变量和局部变量的区别?

1、定义的位置不同。

成员变量定义在类中,作用于整个类。

局部变量定义在函数中,作用于整个函数,或者定义在语句,作用于语句内。

2、内存出现的时间不同。

成员变量:当对象创建时,出现在堆内存的对象中。

局部变量:所属区间被运算时,出现在栈内存中。

3、生命周期不同。

成员变量:随着对象的出现而出现,随着对象的消失而消失。

局部变量:随着所属区间运算结束,立即被释放。

当重名的时候,先找栈里的,没有再找对象里的。

4、默认初始化值。

成员变量:因为在堆内存中,都有默认初始化值。注意

局部变量:没有默认初始化。

9、面向对象的分析与设计(非常重要)

面向对象程序设计把握一个重要的经验:谁拥有数据,谁就对外提供操作这些数据的方法。

面向对象分析案例:

1、人在黑板上画圆:

从分析来看应该有三个对象,人、黑板、和圆,这其中有一个动作就是画圆,这个动作用一个方法来描述,画圆需要用到圆心和半径,这两个属性都是圆具备的,所以画圆这个方法应该是圆具备的方法。

2、列车司机紧急刹车了:

从分析来看,应该有两个对象,分别是列车和司机,这其中有一个刹车的动作,这个动作用一个方法来描述,怎么刹车应该是列车本身知道,而司机只是调用了列车上的刹车方法,所以刹车方法是列车具备的方法。

3、售票员统计售货小票上的总金额:

从分析来看,应该有两个对象,分别是售票员和小票,这其中有一个统计总金额的动作,这个动作用一个方法来表示,统计总金额这个方法是票身上的具备的方法,而售货员只是去调用售货票据对象上的getTotalMoney()方法,getTotalMoney方法内部计算出售货票据的总金额。

4、两块石头磨成一把石刀,石刀可以砍树,砍成木柴,木柴做成椅子。

面向对象分析:

有一个石头加工厂,这个工厂提供一个方法返回石刀,石刀有一个功能,可以把树砍成木柴,然后有一个木柴加工厂,可以把木柴做成椅子。

StoneKnife = KnifeFactory.createKnife(stone)

Stone

Mateial = StoneKnife.cut(tree)

Tree

Chair = ChairFactory.makeChair(material)

Material

chair

http://edu.csdn.net/heima android培训
http://edu.csdn.net/heima ; java培训期待与您交流!详细请查看http://edu.csdn.net/heima
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: