前言:欢迎来到我的小窝,这里是一个新手程序员的起航之旅,记录着从“入坑”到“退坑”每一天……
- 计划任务
- 完成任务
正在苦恼怎么将面向对象向大家叙述,不过偶然间看到一篇博客
@十四期_李光 博客上解释的非常通俗易懂,分享给大家
用面向过程的方法写出来的程序是一份蛋炒饭;
用面向对象写出来的程序是一份盖浇饭。
蛋炒饭制作的细节不说了,最后的一道工序肯定是把米饭和鸡蛋混在一起炒匀。盖浇饭呢,则是把米饭和盖菜分别做好,你如果要一份红烧肉盖饭呢,就给你浇一份红烧肉;如果要一份青椒土豆盖浇饭,就给浇一份青椒土豆丝。
蛋炒饭的好处就是入味均匀,吃起来香。如果恰巧你不爱吃鸡蛋,只爱吃青菜的话,那么唯一的办法就是全部倒掉,重新做一份青菜炒饭了。盖浇饭就没这么多麻烦,你只需要把上面的盖菜拨掉,更换一份盖菜就可以了。盖浇饭的缺点是入味不均,可能没有蛋炒饭那么香。
知识点归纳 浅谈面向过程和面向对象盖浇饭的好处就是‘’菜”“饭”分离,从而提高了制作盖浇饭的灵活性。饭不满意就换饭,菜不满意换菜。用软件工程的专业术语就是”可维护性“比较好,”饭” 和”菜”的耦合度比较低。蛋炒饭将”蛋”“饭”搅和在一起,想换”蛋”“饭”中任何一种都很困难,耦合度很高,以至于”可维护性”比较差。软件工程追求的目标之一就是可维护性,可维护性主要表现在3个方面:可理解性、可测试性和可修改性。面向对象的好处之一就是显著的改善了软件系统的可维护性。
面向过程优点:性能比面向对象高,因为类调用时需要实例化,开销比较大,比较
面向对象
消耗资源;比如单片机、嵌入式开发、 Linux/Unix等一般采用面向过程开发,
性能是最重要的因素。
缺点:没有面向对象易维护、易复用、易扩展优点:易维护、易复用、易扩展,由于面向对象有封装、继承、多态性的
特性,可以设计出低耦合的系统,使系统 更加灵活、更加易于维护
缺点:性能比面向过程低
本文引用:https://zhuanlan.zhihu.com/p/75265007
面向对象的好处当然java是一个面向对象的语言,对于现阶段的我们而言,不必考虑其他东西
类与对象
- 将复杂的问题简单化
- 更加贴合现实中人们的思维角度
- 面向对象更贴合管理者角度,面向过程更适用于执行者的思考角度
对象的内存分析类就是将对象的各个相同的部分抽取出来,归为一类,所以类是一个抽象的概念。类就是一个模板,由这个模板可以产生无数了对象。
对象是具备一定能力的个体,是类的实例化
人类(类)----->有鼻子,有眼睛,有手,会干活,会吃饭等,是不是每一个人都有鼻子,有眼睛,有手,会干活,会吃饭 ……
对象(人类)就是"张三",“李四”,……具体到每一个人,
成员属性及成员方法图片来源于优极限 殷姐
构造器面向对象是一种思想,并不是代码怎么写,将思想用代码的形式提炼出来……
上回说到人类:成员属性在我理解是一个名词,成员方法是动词,从这点上来看
人类的成员属性是:有鼻子,有眼睛,有手等
人类的成员方法是:会干活,会吃饭等
构造器 | 构造方法 | 构造函数 (特殊的方法)叫法多种
构造器是什么?
- 如果没有显示定义构造器,编译器会默认提供一个空构造器
- 如果存在显示定义的构造器,编译器都不会再提供任何构造器了
- 构造器是特殊的方法,具有重载特性
- 定义实体类时候,根据需求自定义构造器(包含空构造器)
构造器特征
- 没有返回值类型也没有void
- 名字必须与类名保持一致
- 可以根据需求使用return,但是不能带出返回值
无参构造器写法
public class Person { public Person() { } }有参构造器写法
public class Person { public Person(String name, int age) { this.name = name; this.age = age; } }
总结:构造器的作用:构造器最大的用处就是在创建对象时执行初始化,当创建一个对象时,系统会为这个对象的实例进行默认的初始化。
当动物类对象用new关键字创造出后, 后面的 Animals()其实就是构造器,只要是创建对象就会被用上 构造器使用之后,就会为成员属性初始化,因为构造器是无参的, Animals animals=new Animals();new关键字的作用:
- 在堆空间开辟空间,堆空间里的存储是无序的;
- 调用构造器为成员属性初始化
- 指向引用,将对象地址赋值给局部变量进行存储
今天是愉快的一天……



