类的继承与多态

Posted 不见晨曦的占星师

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了类的继承与多态相关的知识,希望对你有一定的参考价值。

继承
//概念:子类可以继承父类的一切
//方法重写:在子类里面对父类的方法进行重写
//特点:单继承:一个子类只能有一个父类,一个父类可以派生出多个子类
//override:重写
//overload:重载,编译多态
class Ren
{
 public $name;
 function say()
 {
  echo $this->name."正在讲话!";
 }
}

class China extends Ren
{
 public $dizhi;
 
 function say()
 {
  parent::say(); //调用父类的say方法
  
  echo "中国人说话";
 }
}
class America extends Ren
{
 function say()
 {
  echo "speak";
 }
}

//$c = new China();
//$c->say();

//$a = new America();
//$a->say();


多态(运行多态)
//概念:当父类引用指向子类实例,由于子类里面对父类的方法进行了重写,父类引用在调用该方法的时候表现出的不同状态。
//条件:1.必须发生在继承下
//2.必须重写父类方法
//3.父类引用调用该方法

//Ren r = new Ren(); //造一个Ren类的引用指向Ren类的对象

 //Ren r1 = new America(); //父类引用指向子类实例

r1.Speak(); //表现出的不同,成为多态

//如果一个方法需要一个父类参数,可以给一个子类对象

/子类对象替换父类例子
 //怪兽吃人
        public string Eat(Ren r)
        {
            return "人类真好吃";
        }
America a = new America();
Eat(a);

以上是关于类的继承与多态的主要内容,如果未能解决你的问题,请参考以下文章

Java 继承多态与类的复用

.NET Core CSharp初级篇 1-6 类的多态与继承

[实验6]类的继承与多态

Python 基础之面向对象类的继承与多态

4月14日继承与多态

Java编程 实现类的继承与多态 写一个动物类。成员变量为动物的种类,成员方法是动物叫声。