首页
Web开发
Windows程序
编程语言
数据库
移动开发
系统相关
微信
其他好文
会员
首页
>
其他好文
> 详细
面向对象之封装和继承
时间:
2017-07-16 23:31:55
阅读:
167
评论:
0
收藏:
0
[点我收藏+]
标签:
完整性
mod
方便
多个
调用
变量
参数
引入
对象
面向对象的三大特征:封装、继承、多态。
面向对象编程之封装:
封装就是把对象的属性和行为结合成一个独立的相同单位,并尽可能隐蔽对象的内部细节
有一个最大的优点:信息隐蔽,封装即隐藏。
PHP 中通过将数据封装、声明为私有的(private),再提供一个或多个公开的( public)方法实现对该属性的操作,以实现下述目的:
隐藏一个类的实现细节;
防止对封装数据的未经授权的访问。使用者只能通过事先定制好的方法来访问数据,可以方便地加入控制逻辑,限制对属性的不合理操作;
有利于保证数据的完整性;
便于修改,增强代码的可维护性;
面向对象编程之继承:
是指一个对象直接使用另一对象的属性和方法。
继承是面向对象最重要的特点之一,就是可以实现对类的复用。 通过“继承”一个现有的类,可以使用已经定义的类中的方法和属性。 继承而产生的类叫做子类。 被继承的类,叫做父类,也被成为超类。
PHP 是单继承的(PHP和JAVA是单继承,有且只有一个父类,C++是多继承),一个类只可以继承一个父类,但一个父类却可以被多个子类所继承。 从子类的角度看,它“ 继承( inherit , extends) ”自父类;而从父类的角度看,它“派生( derive) ”子类。它们指的都是同一个动作,只是角度不同而已。 子类不能继承父类的私有属性和私有方法。 在 PHP5 中类的方法可以被继承,类的构造函数也能被继承。
面向对象编程之访问控制:
在 PHP5 中,可以在类的属性和方法前面加上一个修饰符( modifier),来对类进行一些访问上的控制。
面向对象编程之重写:
如果从父类继承的方法不能满足子类的需求,可以对其进行改写,这个过程叫方法的覆盖( override),也称为方法的重写。 当对父类的方法进行重写时,子类中的方法必须和父类中对应的方法具有相同的方法名称, 在 PHP5 中不限制输入参数类型、参数数量和返回值类型。(这点和 JAVA 不同) 子类中的覆盖方法不能使用比父类中被覆盖方法更严格的访问权限。
面向对象编程——this:
PHP5 中为解决变量的命名冲突和不确定性问题,引入关键字“$this”代表其所在当前对象。 $this 在构造函数中指该构造函数所创建的新对象 在类中使用当前对象的属性和方法,必须使用$this->取值。 方法内的局部变量,不属于对象,不使用$this 关键字取值。
面向对象编程——parent:
PHP5 中使用 parent::来引用父类的方法。
parent:: 可用于调用父类中定义的成员方法。
parent::的追溯不仅于直接父类。
以上就是部分的面向对象的内容
面向对象之封装和继承
标签:
完整性
mod
方便
多个
调用
变量
参数
引入
对象
原文地址:http://www.cnblogs.com/huzjijie/p/7192214.html
踩
(
0
)
赞
(
0
)
举报
评论
一句话评论(
0
)
登录后才能评论!
分享档案
更多>
2021年07月29日 (22)
2021年07月28日 (40)
2021年07月27日 (32)
2021年07月26日 (79)
2021年07月23日 (29)
2021年07月22日 (30)
2021年07月21日 (42)
2021年07月20日 (16)
2021年07月19日 (90)
2021年07月16日 (35)
周排行
更多
分布式事务
2021-07-29
OpenStack云平台命令行登录账户
2021-07-29
getLastRowNum()与getLastCellNum()/getPhysicalNumberOfRows()与getPhysicalNumberOfCells()
2021-07-29
【K8s概念】CSI 卷克隆
2021-07-29
vue3.0使用ant-design-vue进行按需加载原来这么简单
2021-07-29
stack栈
2021-07-29
抽奖动画 - 大转盘抽奖
2021-07-29
PPT写作技巧
2021-07-29
003-核心技术-IO模型-NIO-基于NIO群聊示例
2021-07-29
Bootstrap组件2
2021-07-29
友情链接
兰亭集智
国之画
百度统计
站长统计
阿里云
chrome插件
新版天听网
关于我们
-
联系我们
-
留言反馈
© 2014
mamicode.com
版权所有 联系我们:gaon5@hotmail.com
迷上了代码!