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

面向对象的三大特性

时间:2016-08-09 01:58:44      阅读:154      评论:0      收藏:0      [点我收藏+]

标签:

一.封装

  就是把属性私有化,不是一个类看不见也不能用。这样的好处就是属性如果不私有化的话,那么别的类如果调用这个属性完全可以做到把这个属性的值给覆盖掉,不安全。而私有化则不然,别的类想调用这个属性只能通过调用与之相关的方法才能做到。看个图可能更容易理解些。

技术分享

二.继承

  继承就有上篇提到的层级的关系了。说白了就是XX是一个XX。。。比如狗,狗是一种动物,那动物就是狗的父类。这里就提到一个父类的抽象过程。父类往往都是一些属性行为相同的类的集成体。还是说动物吧,百度一下是这样解释动物的,自然界中生物的一大类,与植物相对。多以有机物为食料,有神经,有感觉,能运动。有了概念就好解释了,动物有的狗都有,猫也都有,人也有,都能吃,有感觉,能运动。。。这就是他们共同的特性。就可以说狗,猫,人都是动物的子类,继承于动物。实际生活中可能一个雷不止继承一个类,但在java中,类的继承是单继承,就是一个子类只能有一个父类,但一个父类是可以同时拥有多个子类的。类似爸爸和儿子的关系。

技术分享

 

 

三.多态

  多态是在封装和继承的基础之上产生的,父类引用指向子类对象,从而产生多种形态称为多态。多态只能调用父类中声明的属性和方法,不能调用子类独有的属性和方法。

那多态有什么作用呢,其主要作用就是为了屏蔽子类之间的差异,是代码更灵活。这样说可能不太直白,简单点说就举个例子吧。说一饲养员,什么都养。试想如果饲养员就只喂养了一只狗和一只猫,那他可以挨个去喂,可以有个方法,狗吃饭和猫吃饭。可如果有上千只狗和猫呢,那他如果挨个去喂还不累死。这个时候,就要想办法,其实说白了狗和猫在他眼里不过都是动物罢了,他完全可以把饲料一撒,谁爱吃就吃。也就是想调用哪个方法就调用哪个方法,这样就节省了很大的冗余代码量和灵活度。稍等代码传上,时间较紧。看了代码会更清晰。

技术分享

 

面向对象的三大特性

标签:

原文地址:http://www.cnblogs.com/liubp/p/5751462.html

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