码迷,mamicode.com
首页 > 其他好文 > 详细

OOP总结

时间:2018-08-01 00:24:48      阅读:134      评论:0      收藏:0      [点我收藏+]

标签:设计   角度   对比   类继承   今天   分解   不用   对象   运用   

学过JAVA的都知道面向对象是它的一大特点,一直没好好总结过,今天来好好捋一捋。

以面向过程来对比,面向对象和面向过程区别在于实现方式,面向过程是把问题的实现分解为一个个的小步骤,然后用函数实现后依次调用。

而面向对象是把构成问题事务分解成各个对象,建立对象的目的不是为了完成一个步骤,而是为了描叙某个事物在整个解决问题的步骤中的行为。

面向对象三大特征:封装、继承和多态,我觉得应该还有抽象。抽象是一种思维方式,将问题空间中具有的相同特征或行为抽象出来,接着将这些特征和行为进行结合,对内执行操作,对外隐藏细节和数据信息,形成一个聚合体,也就是类,这个过程就是封装,如果没有抽象,封装就无从谈起,没有封装,抽象也毫无意义。

当我们费尽心思做出一个类之后,若有一个新的需求功能略有改动但与已有的类大致相同,如果这个时候再新建一个新的类就太没意思了。继承就是为这个场景设计的,使用继承时相当于创建了一个新类,但它不仅包含现有类型的所有成员,还包含它所继承的父类的所有属性和接口(但private成员被隐藏不能访问)。

最后就是多态,封装和继承可以说都是为多态服务的,多个类继承了同一个父类、他们有共同的父类方法但实现却不同,java中还有一个叫接口的东西,一个接口可以被多个类实现,那么在调用这个接口时是不是要指定具体的实现方法呢?显然不是,多态,就是站在抽象的层面上去实施一个统一的行为,到个体(具体)的层面上时,这个统一的行为会因为个体(具体)的形态特征而实施自己的特征行为。例如上班时间到了,老板喊一声:“大家干活了!”于是所有人就各忙各的去了。如果老板不运用多态的方法,那就需要喊一句:“前台去接待了,业务员去销售了,人事去招聘了,清洁工去扫地了,码农去敲代码了……”然后喊完估计就快下班了。多态比起封装与继承来说要复杂很多,上面的描述很简单,不用去死抠多态两个字,其实只要明白:能站在抽象的角度去描述一件事,而针对这件抽象的事,对于每个个体(具体)又能找到其自身的行为去执行,这就是多态。

OOP总结

标签:设计   角度   对比   类继承   今天   分解   不用   对象   运用   

原文地址:https://www.cnblogs.com/yangjunyi1997/p/9398967.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!