面向对象的特性

 

面向对象的特性

 

网址  http://www.jb51.net/article/30248.htm 

         http://www.jb51.net/article/92435.htm

面向对象:是基于面向过程的一种思想。

面向过程:强调的是功能行为。 

面向对象:将功能封装进对象,强调具备了功能的对象。面向对象是基于面向过程的。 

面向对象的三大特性:封装,继承,多态

 

封装   将功能封装成一个个独立的单元,减小耦合,避免牵一发而动全身,方便对程序的修改 

 

继承   代码重用,减少编码量,间接减少维护成本。

 

 

封装好处:

       1.将变化隔离;

       2.便于使用。

       3.提高重用性。

       4.提高安全性。

封装原则:

       将不需要对外提供的内容都隐藏起来。

       把属性都隐藏,提供公共方法对其访问。

private:关键字

       A:用于修饰成员变量和成员方法。
       B:被修饰的内容在其他类中是不可以被访问的。

注意:私有仅仅是封装的一种体现而已。

 

 

 

      第一种理解方式:

 

封装: 

   首先,属性可用来描述同一类事物的特征, 行为可描述一类事物可做的操作,

封装就是要把属于同一类事物的共性(包括属性与行为)归到一个类中,以方便使用.

比如人这个东东,可用下面的方式封装: 

人{ 

年龄(属性一) 

身高(属性二) 

性别(属性三) 

 

做事(行为之一) 

走路(行为之二) 

说话(行为之三) 

 

继承: 

由于封装,使得有共同特征的一类事物的所有描述信息都被归于一类之中,但我们

知道,这并不是万能的,有些事物有共性,但还存在区别,比如教师,简单封装起来如

下: 

 

教师{ 

 

年龄(属性一) 

身高(属性二) 

性别(属性三) 

 

做事(行为之一) 

走路(行为之二) 

说话(行为之三) 

 

 教书(行为之四) 

 

上面对"教师"的封装,与对"人"的封装基本上差不多,只是多了一个特征行为:教书,

教师有与人一样的共性, 但我们不能说"人教书",也就是不能把教书封装到"人"

之中去,教书是教师的特征行为之一. 为了省事地封装教师(代码的复用,这只是继

承存在的原因之一), 可以让教师去继承人,

如: 

教师 extends 人{ 

    教书(

        行为之三

        ) 

这样,我们就不用重新定义那些已经被"人"这一个类所封装的那些属性与行为了,

而只需要使用继承的方式,在人的基础上拓展教师专有的行为,即"教书"即可把教

师描述出来;这样的结果, 即是教师也同时拥有"人"之中所封装的一切属性与行为, 

还拥有自己的特征行为"教书". 

 

 

一、封装性 
封装就是把抽取出来的数据和对数据的操作封装在一起,数据被保护在内部,程序的其他部分只有被授权的操作(方法)才能对数据进行操作。 
php提供了三种访问控制修饰符 
public 表示全局,公共的,本类内部,类外部,子类都可以访问 
protected 表示受保护的,只有本类或子类可以访问 
private 表示私有的,只有本类内部可以访问 
以上三种修饰符既可以修饰方法也可以修饰属性(变量),方法如果没有访问修饰符则默认是public,成员属性必须指定访问修饰符。

 

 

 

 

 

 

 

1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合;、下 4载使用后,可先查看README.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。 1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合;、下载 4使用后,可先查看README.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。 1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合;、下载 4使用后,可先查看README.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值