zoukankan      html  css  js  c++  java
  • PHP继承和多态


    继承 子类可以继承父类的一切
    特点 单继承
    class Ren
    {
    public $name;
    public $sex;
    public $yuyan;

    function Say()
    {
    echo $this->name."正在说话";
    }
    }
    //美国人的子类
    class America extends Ren
    {
    public $ziben;
    //重写:子类对父类的方法进行重写
    function Say()
    {
    parent::Say();//调用父类里的方法,在输出自己的,这样就不会完全覆盖掉父类的方法
    echo "hello";
    }
    }
    //中国人子类
    class China extends Ren
    {
    public $shehui;
    public $wumai;
    //重写
    function Say()
    {
    echo "你好";
    }
    }
    $a=new America();
    $a->Say();
    $c=new China();
    $c->Say();
    var_dump($a);
    多态
    条件:1, 必须要继承 2,子类要对父类的方法进行重写 3,父类引用指向子类实例
    概念:当父类的引用指向子类的实例的时候,由于子类对父类的方法进行了重写,父类引用在调用相应的方法的时候表现出来的不同
    //用c#举例
    /*Ren r=new China();
    r->Say();
    Ren r=new America();//Ren可以去掉
    r->Say();*/

    <?php
    class YunSuan
    {
    	private $a;
    	private $b;
    	
    	function __construct($a,$b)
    	{
    		$this->a = $a;
    		$this->b = $b;
    	}
    	
    	function __set($n,$v)
    	{
    		if($v>0 && $v<100)
    		{
    			$this->$n = $v;
    		}
    	}
    	
    	function __get($n)
    	{
    		return $this->$n;
    	}
    	
    	function He()
    	{
    		return $this->a + $this->b;
    	}
    	
    	function cheng()
    	{
    		return $this->a * $this->b;
    	}	
    	
    	function Shang()
    	{
    		return $this->a/$this->b;
    	}
    }
    
    $r = new YunSuan(1,2);
    

      

  • 相关阅读:
    linux tomcat 突然验证码出不来
    使用open live writer客户端写博客
    创建自己的maven模板
    Dynamic Web Module 3.0 requires Java 1.6 or newer
    win10 操作配置备忘
    Maven使用
    ORA-12514: TNS:listener does not currently know of service …
    PlantUML——4.实例演示1
    C语言基础(一)
    Linux系统挂载FAT32的U盘
  • 原文地址:https://www.cnblogs.com/hamilton/p/5587813.html
Copyright © 2011-2022 走看看