PHP面向对象三大特性②
1 <?php 2 //继承 3 //概念:如果一个类有子类,那么该子类会继承父类的一切东西(私有成员访问不到) 4 //在定义子类的时候需要加一个关键字:extends 5 //特点:1.单继承,就是一个儿子只能有一个父亲,一个类只能有一个父类,但一个父类可以有多个子类 6 // 2.如果父类中有构造函数,子类在实例化的时候要按照父类构造函数的标准来实例化 7 //子类对父类方法的重写:在子类中写一个同样的方法 8 //final:用来修饰类的,代表该类是个最终类(无法被继承) 9 class Info 10 { 11 const π=3.14; //定义常量 12 public static $class;//定义静态变量用 static 13 public $code; 14 protected $name; 15 private $sex; 16 17 function Say() 18 { 19 echo self::π; 20 echo self::$class;//普通方法里面可以调用静态成员 21 echo "hello"; 22 } 23 static function Test() //静态方法 24 { 25 echo self::$class; //只能调用自身类里面的静态成员 26 echo "静态方法"; 27 } 28 } 29 30 class Test extends Info 31 { 32 public $birthday; 33 function Run() 34 { 35 echo "run"; 36 } 37 function Say() 38 { 39 parent::Say();//调用父类的Say方法 40 echo "<br>"; 41 echo "Test Say"; 42 } 43 } 44 $t =new Test("女"); 45 $t->code ="p001"; 46 //$t->Say(); 47 //$t->Run(); 48 49 Info::$class ="0305"; //访问静态成员 50 //Info::Test(); 51 $t->Say(); 52 echo Info::π+3; 53 54 55 56 57 //静态成员 58 //普通成员变量是属于对象的,不是属于类的(调用的时候是用对象来调用的) 59 //什么叫做静态:静态成员是属于类的,不是属于每个对象的 60 //定义静态成员用stadic 关键字修饰 61 //静态方法里面无法调用普通成员变量,可以用self调用静态成员 62 //self 代表该类,$this 代表该对象 63 64 65 ?>