定义一个子类(man)

 //定义一个类
class renlei{
var $name = '王五';
var $age = '';
var $sex = '';
var $todo = '';
function showInfo(){
echo '姓名:'.$this->name.'<br>年龄:'.$this->age.'<br>性别:'.$this->sex.'<br>做了什么:'.$this->todo;
}
function cself(){
return new self;
}
}
//定义一个继承于renlei类的类
class man extends renlei{ }
//实例化一个man类下的对象
$wbl = new man();
$wbl->showInfo();

父类和子类的关系:

  1.子类继承父类的全部信息,同时可以扩展自己的特征信息;如果没有扩展,继承也就没有了意义

  2.父类(基类)  派生  子类(派生类)。

  3.单继承:一个父类可以有多个子类,但一个子类只能有一个直接父类(可以有多级父类--多级继承)。

类中成员的修饰符及作用范围:

范围

本类内

继承关系类内

类外

public

可以

可以

可以

protected

可以

可以

不可以

private

可以

不可以

不可以

关键字:parent(parent::类成员):

  parent通常用于在子类中调用父类的成员的时候使用,多数通常就是使用父类的“静态类”成员(因为parent代表的类,而非对象)

重写:override

  定义:发生在继承里。将从父类继承下来的属性或方法重新“定义”

  方法的参数形式:应该跟父类的一致(构造方法除外,可以不一致)。

私有属性和私有方法的重写问题:私有属性和方法都不能覆盖,但其实子类可以定义跟父类私有的同名属性或方法。只是当作一个自身的新的属性或方法来看待而已。不过方法的参数必须一致。

关键词:final

  如果某个类不希望对其进行扩展,则可以将其声明为“最终类”。

    形式:final  class  类名{ 。。。。类定义。。。。}

  如果某个方法不希望被下级类覆盖,就可以对其生命为“最终方法”。

    形式:final  function  方法名(){。。。。方法定义。。。。}

构造方法析构方法在继承中的表现:

  1.子类中没有定义构造方法时,会自动调用父类的构造方法。因此实例化子类时,需按照父类的构造方法的形式进行(注意参数)。

  2.子类定义了自己的构造方法,则不会自动调用父类的构造方法,但可以手动调用:parent::__construct();

 //定义一个human类下的子类
class man extends human{
public $m1 = "" ;
//手动调用父类的构造方法
function __construct($name,$m1){
parent::__construct($name);
$this->m1 = $m1;
}
}
//实例化一个man类下的对象
$wbl = new man('xiaoming',18);
echo $wbl->name;
echo $wbl->m1;

0605-类的继承、重写、parent、final的更多相关文章

  1. JavaScript中的类式继承和原型式继承

    最近在看<JavaScript设计模式>这本书,虽然内容比较晦涩,但是细品才发现此书内容的强大.刚看完第四章--继承,来做下笔记. 书中介绍了三种继承方式,类式继承.原型式继承和掺元类继承 ...

  2. php类的继承(基本概念,访问权限修饰符,重写override)

    类的继承 简单理解: 某个类A具有某些特征,另一个类B,也具有A类的所有特征,并且还可能具有自己的更多的一些特征,此时,我们就可以实现:B类使用A的特征信息并继续添加自己的一些特有特征信息. 基本概念 ...

  3. 关于继承的基本知识,方法重写,final和abstract的使用, 动态绑定和静态绑定的知识

    一.继承: 涉及关键字: extends(继承) super final abstract 特点: 1.类与类之间可以用 XX是XX来描述 , 那么他们之间就存在继承关系.  2.Java中不支持多继 ...

  4. C#和Java的类、继承、重写与多态

    面向对象的三大特性是封装.继承.多态,C#和Java都是面向对象的语言所以他们的类.继承.重写与多态有很多共同点,但是实现上也存在一定的区别.其中Java中其实没有虚函数的概念,也可以认为Java的函 ...

  5. 2019-07-23 类的继承和final关键字的应用

    我们称以存在的用来派生新类的类为基类,又称做父类,超类.由已存在的类派生出的新类称为派生类,又称为子类.从一个基类派生的继承称单继承,从多个基类派生的继承称为多继承.也就是说:一个类只能直接从一个类中 ...

  6. Objective-C 类的继承、方法的重写和重载

    一.类的继承 Objective-c中类的继承与C++类似,不同的是Objective-c不支持多重继承,一个类只能有一个父类,单继承使Objective-c的继承关系很简单,易于管理程序.Objec ...

  7. Objective-c 类的继承 方法重写 方法重载

    一.类的继承 Objective-c中类的继承与C++类似,不同的是Objective-c不支持多重继承,一个类只能有一个父类,单继承使Objective-c的继承关系很简单,易于管理程序. Obje ...

  8. 面向对象_05【类的继承:extends、重写父类】

    类的继承:现有类的基础上构建一个新的类,构建出来的类被称作子类,子类可继承父类的属性和方法. 什么时候定义继承?当类与类之间存在着所属关系的时候,就定义继承.xxx是yyy中的一种==>xxx ...

  9. Java面向对象之继承,方法重写,super关键字,员工类系列继承题

    在程序中,如果想声明一个类继承另一个类,需要使用extends关键字. 格式: class 子类 extends 父类 {} 继承的好处 1.继承的出现提高了代码的复用性,提高软件开发效率. 2.继承 ...

  10. 序列化多表操作、请求与响应、视图组件(子类与拓展类)、继承GenericAPIView类重写接口

    今日内容概要 序列化多表操作 请求与相应 视图组件 内容详细 1.序列化多表操作 模型类 models.py中 # 新建django项目 # 创建表 模型类models.py中: from djang ...

随机推荐

  1. CAD绘制一个箭头(com接口)

    1 2 3 4 5 6 7 8 //绘制一个箭头  axMxDrawX1.PathMoveToEx(1000, 300, 10, 10, 0);  //设置路径下一点  axMxDrawX1.Path ...

  2. drf07 过滤 排序 分页 异常处理 自动生成接口文档

    4. 过滤Filtering 对于列表数据可能需要根据字段进行过滤,我们可以通过添加django-fitlter扩展来增强支持. pip install django-filter 在配置文件sett ...

  3. yagmail邮件模块

    昨天接到一个需求,就是要求用邮件发送一html文件.这里我想到了用yagmail #!/usr/bin/env python #-*- coding:utf-8 -*- import yagmail ...

  4. GeoTrust 企业(OV)型 多域名(SAN/UC)版 SSL证书

     GeoTrust 企业(OV)型 多域名(SAN/UC)版 SSL证书(GeoTrust True BusinessID With Multi-Domain(SAN/UC) ),支持多域名,属于企业 ...

  5. 【[Offer收割]编程练习赛12 C】矩形分割

    [题目链接]:http://hihocoder.com/problemset/problem/1495 [题意] [题解] 把每个方块都再分成3*3的小块; 这样; 对于一个方块来说 如果是'\' 则 ...

  6. 清北学堂模拟赛d6t1 角谷猜想

    分析:不用删数字,我们考虑加入数字,维护一个栈,把不是4和7的数加进去,遇到3看栈顶是不是1,是的话弹出来就可以了. #include <bits/stdc++.h> #define N ...

  7. [cf 599C] Day at the Beach

    题意:有n个数,将其分组使整个数列排序后每组中的数仍在该组中,求最多的分组数. 代码很易懂 #include <iostream> #include <algorithm> # ...

  8. pandas中选取某行为缺失值的数据,并返回

    1.df.dropna() 可以返回去掉NaN的df结果集. 2.pandas中dataframe取差集: df=pd.DataFrame({"name":[1,2,3,np.Na ...

  9. U-Boot> help, 命令集

    U-Boot> help ?       - alias for 'help' base    - print or set address offset boot    - boot defa ...

  10. nyoj_38_布线问题_201403121753

    布线问题 时间限制:1000 ms  |  内存限制:65535 KB 难度:4   描述 南阳理工学院要进行用电线路改造,现在校长要求设计师设计出一种布线方式,该布线方式需要满足以下条件:1.把所有 ...