PHP面向对象 封装与继承

知识点:

PHP封装三个关键词:

一、public 公有的,被public修饰的属性和方法,对象可以任意访问和调用

二、private 私有的,被private修饰的属性和方法,只能在类内部的方法可以进行调用,或者被子类重写后用public才可以随意调用

三、protected 受保护的,被protected修饰的属性和方法,在父类和子类的方法都可以访问调用,不支持对象外部访问调用

PHP继承概念

PHP子类可以通过extends继承父类的属性和方法,再原有基础上添加或者重写属性方法,注意:PHP是单继承,即一个父类只能有一个子类,如果想一个父类被多个子类继承,需要使用接口。

一、子类继承父类的属性和方法,并非全部,被private修饰的方法和属性无法继承

二、子类方法或属性名如果与父类方法名一致,则进行了对远方法和属性的重写

三、关键词final 修饰的类名或方法无法被继承或重写

代码:

<?php
header("Content-type:text/html;charset=utf-8");

error_reporting(E_ALL);
class people{

public $name;
public $age;

public function __construct($name,$age){

$this->name = $name;
$this->age = $age;

}
public function tellname(){

echo ‘我的名字是‘.$this->name;

}
private function tellage(){

echo ‘我是年龄是‘.$this->age;
}

}
$zhangsan = new people(‘张三‘,20);
$zhangsan->tellname();//输出成功
//$zhangsan->tellage();提示致命错误
echo "<br>";
class student extends people{

public $class;
public $sex;

public function tellname(){

echo ‘大家好,我的名字是‘.$this->name;

}

public function tellage(){

echo ‘我的岁数是‘.$this->age;
}
}
$xiaoming = new student(‘小明‘,15);
$xiaoming->tellname();//输出成功
$xiaoming->tellage();//重写后输出成功
?>

页面提示:

时间: 2024-10-11 06:01:55

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声明的类叫做"抽象类".如果一个类里包含了一个或多个抽象方法,这个类就指定为抽象类."抽象方法"

面向对象---&gt;封装和继承

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

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

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