<?php//1.将类封装时,一般安全起见,多用于受保护属性protected来进行封装//2.子类调用父类的方法 // (1).父类方法属性应采用public或受保护属性protected // (2).私有属性private 只能在本类中访问//3.子类不需要父类方法时 可进行重写的方法来进行覆盖//4.子类覆盖了父类方法或字段时,又要调用怎么办? // 调用方法 父类名::方法() or parent::方法()//5.final 关键字 可防止类被继承,独立的类不想被其他类集成使用时,必须使用这关键字,单独类,最好都加上这个关键字 //关键字// 1.public 公共属性 类本身和子类都可访问// 2.private 私有属性 类本身可以访问// 3.protected 受保护属性 类本身和子类都可访问(一般封装时为了安全起见多用于这个属性)// 4.extends 继承(php不支持多层继承,一个类只能继承一个基类) header(‘content-type:text/html;charset="utf-8"‘);//定义一个父类class Computer{ //public 公共属性,父类子类都可以调用 //private 私有属性,无法被子类继承,此时就应用受保护的修饰来封装 //protected 受保护属性 父类子类都可调用 public $name = ‘gaofei‘; //定义一个方法 public function say() { return "my name is ".$this->name; }} //定义一个子类class NoteComputer extends Computer{ //子类不需要父类的字段和方法,可采用重写的方法覆盖掉父类等等字段 public $name = ‘james‘; public function say() { echo Computer::say(); echo "my name is ".$this->name; //调用已经被覆盖的父类方法 }} //类的实例化$obj = new NoteComputer();//echo $obj->say(); //加上关键字final 此时子类不能继承父类。final class Pad{ public $data = ‘123‘;} class Pad_pro extends Pad{ public function say() { return $this->data; }}
时间: 2024-11-13 14:40:11