php 面向对象-封装和继承

面向对象的封装性:

1,就是把对象的成员(属性,方法)结合成一个独立的相同单位,并尽可能隐藏对象的内部细节

public protected

private 私有的,用这个关键字修饰的成员,只能在对象内部访问(只有用$this访问),不能在对象外部使用

属性可以封装:

只要一个变量,需要在多个方法使用,就将这个变量声明为成员属性,可以直接在这个对象中的所有方法中使用。成员属性,就相当于这个对象中的全局变量。成员属性都会在方法中使用,成员属性值的变化其实就是在改变方法的执行行为,也就是改变了对象的功能,成员属性的值如果不正常,方法执行的功能也就不正常了。

作用:不需要在对象外部改变或读取它的值,可以在类中提供一个公有的方法,经过方法对象就可以对成员属性进行赋值和取值等操作。

方法也可以封装:

使用private修饰使其只能在内部使用,只要留几个对外方法就可以了!

和封装有关的魔术方法:

__set():是直接设置私有成员属性值时,自动调用的方法

__get():是直接获取私有成员属性值时,自动调用的方法

__isset():查看对象中私有属性是否存在时自动调用这个方法

__unset():直接删除对象中私有属性时,自动调用的方法

继承

1.PHP 对象模型使用了继承。继承将会影响到类与类,对象与对象之间的关系。

比如,当扩展一个类,子类就会继承父类所有公有的和受保护的方法。除非子类覆盖了父类的方法,被继承的方法都会保留其原有功能。

继承对于功能的设计和抽象是非常有用的,而且对于类似的对象增加新功能就无须重新再写这些公用的功能。

2.php中是单继承,有且只能有一个父元素

PHP中使用extends单一继承的方法

PHP的构造函数可以被继承,但是如果子类也定义了构造函数,则父类的被覆盖

子类中将父类的函数进行重新的定义,叫重写
时间: 2024-10-11 06:14:21

php 面向对象-封装和继承的相关文章

面向对象 封装 、继承

构造函数: 构造函数 - 创建一个类的函数 每一个类都有构造函数,访问修饰符必须是public的,并且不需要写任何返回值,方法名与类名一致 自己写的类 - 用户自定义类型如果要使用自定义类型产生出来的  对象  必须有一个实例化的过程 实例化格式:类型名  ss = new 构造函数(); 访问修饰符 -  4个 public - 公共的,任何地方都可以访问,但是需要引用 命名空间 private - 私有的,类的内部才可以访问 internal - 内部的,默认的,程序集中可以访问,程序集就是

PHP的面向对象 — 封装、继承、多态

K在上一次的基础篇中给大家介绍了一下关于PHP中数组和字符串的使用方法等,这一次,K决定一次性大放送,给大家分享一下PHP中面向对象的三大特性:封装.继承.多态三个方面的知识. 一.封装 在PHP中,封装可以用三个子来概括:私有化.具体来说,是通过访问修饰符,将类中不需要外部访问的属性和方法进行私有化处理,来实现访问控制. 那么封装的作用是什么?封装的作用主要有两点,一是方法封装,即将使用者关注的功能暴露,而隐藏其他使用者用不到的功能:二是属性封装,即对用户的数据进行控制,防止不合法的数据传输设

C#中面向对象——封装,继承,多态

摘要:提到面向对象就不得不说面向对象的三大特性,封装:继承:多态!下面还是通过图和例子的方式继续了解一下面向对象的三个核心! 下面还是通过具体的图进行分析: 通过代码来感受一下语法: class Program { static void Main(string[] args) { Fu f1 = new Fu(); f1.GetFu(); //父类就只能获取到父类的属性方法,是不能获取到子类的方法的 zi z1 = new zi(); z1.GetZi(); //子类既可以获取到子类的方法属性

面向对象封装与继承

面向对象: (1)面向过程 强调过程,执行者:它是一种更符合人们思考习惯的思想: (2)面向对象 强调对象,指挥者:它使复杂的内容简单化: (3)面向对象思想的特点:它使我们从执行者变成了指挥: 面向对象方法的主要优点是:符合人们通常的思维方式:从分析到设计再到编码采用一致的模型表示,具有高度连续性:软件重用性好. 面向对象的写法: 初始化对象 面向对象的特点: 封装:继承:多态 封装,有参构造方法. 无参构造方法 类和对象: 对于同一类事物可以抽取它们的共性的内容,定义在类中.如生活中的汽车,

面向对象封装、继承、多态

一.面向对象封装 01. 封装 封装 是面向对象编程的一大特点 面向对象编程的 第一步 —— 将 属性 和 方法 封装 到一个抽象的 类 中 外界 使用 类 创建 对象,然后 让对象调用方法 对象方法的细节 都被 封装 在 类的内部 02. 小明跑步案例 需求: 小明 体重 50公斤 小明每次 跑步 会减肥 1公斤 小明每次 吃东西 体重增加 0.5 公斤 class Person(object): def __init__(self, name, weight): self.name = na

面向对象 封装、继承

一.封装 目的:保护类,让类更加安全.做法:让类里面的成员变量变为私有(即访问修饰符)的,做相应的方法或者属性去间接的操作成员变量 ※访问修饰符private 私有的              只能在该类中访问protected 受保护的       只能在该类和它的子类中访问public 公有的                在任何地方都可以访问 封装成员方法来间接操作类里面的成员变量 例: class Ren { private string name; private int age; /

PHP面向对象 ——封装和继承

面向对象的特征 1 封装 2 继承 3 多态 封装 封装就是把对象的属性和行为结合成一个独立的相同单位,并尽可能隐蔽对象的内部细节 优点:信息隐蔽,封装即隐藏. 封装的原则在软件上的反映是:要求使对象以外的部分不能随意存取对象的内部数据(属性),从而有效的避免了外部错误对它的"交叉感染",使软件错误能够局部化,大大减少查错和排错的难度. 类的封装性带来的优点:隐藏类的实现细节,让使用者只能通过事先定义好的方法来访问数据,可以方便的加入逻辑控制,进行数据检查,限制对属性的不合理操作.便于

面向对象(封装、继承、多态、抽象)

封装--封装主要是基于类的属性,本类中的属性私有化,即有private修饰词来加以修饰,生成GET,SET方法来给外界调用. 继承--java继承是面向对象的最显著的一个特征.继承是从已有的来中派生出新的类,新的类能吸收已有类的数据属性和行为,并能扩展新的能力. 多态--java的多态是指对非静态方法的多态,父类的引用来调用子类的方法. 抽象--使用关键词abstrace声明的类叫做"抽象类".如果一个类里包含了一个或多个抽象方法,这个类就指定为抽象类."抽象方法"

面向对象--->封装和继承

封装封装指在实际实现时,将复杂的内部结构隐藏起来,并为这组复杂的结构取一个统一的名称进行使用.在现实世界中,大量的存在封装的例子,例如电脑的硬盘,将多组复杂的线路和存储信息的磁片封装起来,并将该组结构取名为硬盘,以后就可以使用硬盘来代表该结构,而不需要更多的了解内部的信息.在面向对象技术中,类是典型的封装性的体现,类将一组属性和功能组合成一个统一的结构,并使用类名来代表该结构.封装性的最大优势在于隐藏每个类的内部实现(内部结构),从而既方便项目的分解也降低了项目的难度.例如以设计汽车为例,我们可

Javascript面向对象(封装、继承)

Javascript 面向对象编程(一):封装 作者:阮一峰 Javascript是一种基于对象(object-based)的语言,你遇到的所有东西几乎都是对象.但是,它又不是一种真正的面向对象编程(OOP)语言,因为它的语法中没有class(类). 那么,如果我们要把"属性"(property)和"方法"(method),封装成一个对象,甚至要从原型对象生成一个实例对象,我们应该怎么做呢? 一. 生成实例对象的原始模式 假定我们把猫看成一个对象,它有"名