黑马程序员--面向对象

来源:互联网 发布:汽车行业大数据分析 编辑:程序博客网 时间:2024/04/29 16:03

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

原创粉丝点击