java OOP 面象对象 思聪教你什么是面向对象~

java OOP 面象对象 思聪教你什么是面向对象~

思聪 ?你想到了那谁?

其实我说的是我村里苞米承包大户的儿子,谢谢他让我能为大家讲清楚OOP。

译义:

面向对象OOP(Object–Oriented Programming面向对象编程)是一种编程思维

引用百度百科的说法是

https://baike.baidu.com/item/OOP/1152915?fr=aladdin

面向对象编程(Object Oriented Programming,OOP,面向对象程序设计)是一种计算机编程架构。OOP 的一条基本原则是计算机程序是由单个能够起到子程序作用的单元或对象组合而成 “

看完更是不解(高智商的学者就是喜欢堆砌让人看不懂的文字来进行学术传播,类似于现代版的文言文),且看完我是那个一阵恼火啊~~

简单说,在java中,面向对象的编程思维就在操作上对类的调用,从面实现方法的调用.

下面我用我和思聪的身份作比方来让大家清楚认识OOP

##我

比如我要完成一个吃饭和购物的操作,那我是屌丝一枚,我呢要吃饭,我就要些去买菜,然后,起锅烧油,花椒大料下锅,然后花椒就熟了,我就吃了(满嘴花椒~zZ),再然后我就得恶梦般的要洗锅,之后我出门扫了辆小黄车去超市和大妈去抢下午打折蔬菜,哎~~
如果把这些操作变成编程语言的话,这将是一个直线型的操作.这是面向过程的编程思维,但大家知道屌丝日常千篇一律,昨天,今天和明天的生活基本上没有太多变化,那么变成程序,我要执行每天动作,就要每天输入相同的代码,是不是很麻烦?

##思聪

那么思聪同样有了吃饭和购物的需求,他会怎么做呢?
既然要吃饭啊,思聪打开了他的iponeN,按了1号键,呼叫了大厨团,大厨30分钟布置好精心的餐食,思聪很挑食的只吃了5分饱,感觉心情不是很好,(你妹,你都不用洗碗,还不快活?) 然后听说GUCCI新出的克隆恐龙皮手包上线,打开IponeN,按了2号键,叫来众多买手买断亚太地区,然后思聪的生活仍在继续~~
如果把这些操作变成编程语言的话,从大局来看,也是一个直线型的操作(吃了饭后再购物),但从细节来看话,他要吃饭,却没做饭便吃到了美食,而做饭具体的工作交给大厨团,他要购物,居然没有骑小黄车就买到了东西,而购物的具体工作交给了买手.对于怎么做饭,怎么买到包的操作,他不需要清楚.
这就是面向对象的编程思维,那么思聪面象是对象是谁呢?
相信你已经知道,那就是大厨和买手啊

我们从现实场景回归到编程语言,一个一个的对象在java里面就是一个个的类,而比如有一个类叫”大厨团”,它里面封装了大厨做各种美食的全套流程,思聪只需要指派这个类”大厨类”,告知想吃”猪肉炖粉条”,类”大厨类”便起锅烧油开始造了.

讲到这里,除了调侃命运的不公外,相信你应该能浅浅的了解一点面象对象了.

别外,java里面类和对象 instance 的关系是

类可以看成一类对象的模板,对象可以看成该类的一个具体实例
类描述同一类形的对象的一个抽象的概念,类中定义了这一类对象所应具有的静态和动态属性及其方法


再转到思聪的例子上,那和么引申出类和对象的关系,怎么看呢?

大厨团可以帮思聪搞定餐食,团内有各种菜系的厨师们,各有神通,大厨团这个角色就是一个类Class,而当恩聪想吃”溜肥肠”时,会告知大团厨具体需求,大厨团会指派具体厨师来料理.在java实际操作上为 “new 大厨团”,获得一个具体对象”溜肥肠”大师,调用他的方法来制作美食.
可见,大厨团只是一群厨子的集合,每次执行命令都要具体到哪一位厨师身上,而初始化对象时,会加上更种属性,(比如思聪就喜欢臭肥肠,关键一定要臭),那臭这个属性的实现就通过构造器实现的.

那就思聪的生活,你羡慕吗?
没错,你羡慕的生活,就连编程语言都羡慕呢,所以产生了面象对象的编程啊(这拨强解释我还真是信了~~)
java中通过对类的调取,获取对象,实现功能,实现了代码的复用(就好同一个外部jar包,),解耦代码,从这点上应该可以看出面向对象比直线型的面向过程的思维要好吧。
另外可以转换下思维可以这样理解 ,当需要解决事情时

面向过程的心理是 “我自己要怎么做?”
面向对象的心理是 “我要找谁来做”?

面向对象的编程思维的优点:
1.高效处理业务,更符合人们的业务实际流程
2.抽取类似业务封装成类,实现代码的复用和解耦。
3.使业务功能模块更清晰

好了,结束,没什么好说的了.

bye
想和思聪做朋友的,请帮我点赞评论

不然,举头三尺有神明,你过会电脑死机不要怪我了.lalala~

猜你喜欢

转载自blog.csdn.net/ted_cs/article/details/82460844