批改状态:合格
老师批语:很多没有总结到, 不必着急的, 咱们还没有学完
| 序号 | 名称 | 关键字 | 类外部 | 类内部 | 类继承上下文 | 描述 |
|---|---|---|---|---|---|---|
| 1 | 公开成员 | public |
允许 | 允许 | 允许 | 默认 |
| 2 | 受保护成员 | protected |
禁止 | 允许 | 允许 | 封装 |
| 3 | 私有成员 | private |
禁止 | 允许 | 禁止 | 封装 |
public这个就是没有限制的,公有的
<?php//public公共的class Person{public $name = 'misszhu'; //此处不定义默认值,那么默认是空nullpublic $age = 18;public function say() {echo '我的名字是'. $this->name. '今年'. $this->age.'岁';}}$misszhu = new Person();// $misszhu -> name='misszhang';//public这种情况下名字是可以去更改的//echo $misszhu -> say();//在public下$name/$age都是可以在外部更改的$misszhu -> name='misszhang';$misszhu -> age='21';echo $misszhu -> say();
<?php//类的继承//子类共享父类的属性和方法(protected/public)//php中只支持单继承class Person{public $name; //此处不定义默认值,那么默认是空nullpublic $age;public function __construct($name, $age){$this->name=$name;$this->age=$age;}public function say(){echo '我的名字是'. $this->name. '今年'. $this->age.'岁';}public function demo(){echo '这里是demo';}}class Chiness extends Person{protected $sex;public function __construct($name, $age, $sex){$this->name=$name;$this->age=$age;$this->sex=$sex;}//也是可以重写的}$misszhu = new Chiness($name='misszhang', $age='19', $sex='女');$misszhu -> say();var_dump($misszhu);

protected
<?php//protected:受保护的class Person{public $name = 'misszhu'; //此处不定义默认值,那么默认是空nullprotected $age = 18;public function say() {echo '我的名字是'. $this->name. '今年'. $this->age.'岁';}}$misszhu = new Person();$misszhu -> name='misszhang';//public这种情况下名字是可以去更改的$misszhu -> age='28';//受保护的外部不能更改,会报错$misszhu -> say();

<?php//类的继承//子类共享父类的属性和方法(protected/public)//php中只支持单继承class Person{public $name='misszhu'; //此处不定义默认值,那么默认是空nullprotected $age='18';public function say(){echo '我的名字是'. $this->name. '今年'. $this->age.'岁';}public function demo(){echo '这里是demo';}}class Chiness extends Person{}$misszhu = new Chiness();//$misszhu -> age = 21;//$misszhu -> eat();$misszhu -> say();

<?php//类的继承//子类共享父类的属性和方法(protected/public)//php中只支持单继承class Person{public $name='misszhu'; //此处不定义默认值,那么默认是空nullprotected $age='18';public function say(){echo '我的名字是'. $this->name. '今年'. $this->age.'岁';}public function demo(){echo '这里是demo';}}class Chiness extends Person{}$misszhu = new Chiness();$misszhu -> age = 21;//$misszhu -> eat();$misszhu -> say();

<?php//类的继承//子类共享父类的属性和方法(protected/public)//php中只支持单继承class Person{public $name='misszhu'; //此处不定义默认值,那么默认是空nullprivate $age='18';public function say(){echo '我的名字是'. $this->name. '今年'. $this->age.'岁';}public function demo(){echo '这里是demo';}}class Chiness extends Person{public function eat(){echo $this->age;}}$misszhu = new Chiness();$misszhu -> say();

<?php//类的继承//子类共享父类的属性和方法(protected/public)//php中只支持单继承class Person{public $name='misszhu'; //此处不定义默认值,那么默认是空nullprivate $age='18';public function say(){echo '我的名字是'. $this->name. '今年'. $this->age.'岁';}public function demo(){echo '这里是demo';}}class Chiness extends Person{public function eat(){echo '我的名字是'. $this->name. '今年'. $this->age.'岁';}}$misszhu = new Chiness();$misszhu -> eat();

| 序号 | 名称 | 关键字 | 具体实现 |
|---|---|---|---|
| 无 | 抽象成员 | abstract |
无 |
<?phpabstract class Person{abstract function chiness($name,$age,$money);}class Person1 extends Person{function chiness($name,$age,$money){echo "我的名字是:" . $name, "我现在是:" . $age. "岁了", "我兜兜里面有:" . $money."元";}}class Person2 extends Person{function chiness($name,$age,$money){echo "我的名字是:" . $name, "我现在是:" . $age. "岁了", "我兜兜里面有:" . $money."元";}}$chiness1 = new Person1();$chiness2 = new Person2();$chiness1->chiness('zhu老师','42','1000000');echo '<hr/>';$chiness2->chiness('小zhou','27','1');

<?phpclass Person{public $name = 'misszhu'; //此处不定义默认值,那么默认是空nullpublic $age = 42;public function say() {echo '我的名字是'. $this->name. '今年'. $this->age.'岁';}}class Chiness extends Person{public function sex(){//调用父类的方法,如果自己有方法就用自己的方法parent::say();}//类的重载,你如果觉得父类的不够先进,你也可以自己重新写public $eat='肉';public function eat(){echo '我的名字是'. $this->name. '今年'. $this->age.'岁', '我的爱好是喜欢吃'.$this->eat;}}$misszhu = new Chiness();echo $misszhu -> sex();echo '<hr>';echo $misszhu -> eat();

<?phpinterface iUser {const NAME = '接口类';public static function myfun(); //抽象方法}class User extends iUser{protected static $name = '小zhou';public static function myfun(){return $this->name.'正在学习'.iUser::NAME;}}echo User::myfun();
有点绕,很多还没有总结到
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号