黑马程序员--面向对象

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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
回答: 面向对象思想是一种将问题抽象为对象,并通过对象的属性和行为来解决问题的思考方式。在Java中,面向对象的设计概念被广泛应用。面向对象的本质是对现实世界的对象进行建模操作,将问题中的实体抽象为对象,并通过定义类来描述对象的属性和行为。\[1\]在Java中,可以使用关键字static来修饰成员变量,使其具有共享的特性。static修饰的成员变量在类加载时就会被加载,并且被类的所有对象共享。\[2\]此外,在Java中还可以使用匿名内部类来创建一个继承了某个类或实现了某个接口的子类匿名对象。这种方式可以在需要使用某个类或接口的地方直接创建对象,并实现其方法。\[3\]总的来说,Java的面向对象特性使得程序开发更加灵活和可扩展,能够更好地解决实际问题。 #### 引用[.reference_title] - *1* [黑马程序员—Java之面向对象](https://blog.csdn.net/lwb0304/article/details/48224447)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* *3* [黑马程序员--Java面向对象](https://blog.csdn.net/Sherlock_Li/article/details/48108513)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

想飞的鱼20

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值