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);
    

      

  • 相关阅读:
    poj 3243 Clever Y(BabyStep GiantStep)
    poj 2417 Discrete Logging
    poj 3481 Double Queue
    hdu 4046 Panda
    hdu 2896 病毒侵袭
    poj 1442 Black Box
    hdu 2815 Mod Tree
    hdu 3065 病毒侵袭持续中
    hdu 1576 A/B
    所有控件
  • 原文地址:https://www.cnblogs.com/hamilton/p/5587813.html
Copyright © 2011-2022 走看看