Blogger Information
Blog 32
fans 2
comment 0
visits 27922
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template
类的基础及基础用法
简行
Original
671 people have browsed it
1.类的声明与实例化
  1. <?php
  2. //类的声明
  3. class Users
  4. {
  5. //类的构造方法
  6. public function __construct()
  7. {
  8. }
  9. }
  10. //类的实例化:用new来调用
  11. $user = new Users();
  12. //动态类:再类名放在一个变量当中
  13. $class = "Users";
  14. $obj = new $class();
2.类的各种访问
  1. <?php
  2. //类的声明
  3. class Users
  4. { //类成员:类属性·类方法
  5. //类属性
  6. //public 公共成员:类的内外部都可访问,都可见
  7. public $uname ="一页书";
  8. public $arr = [111,222,333];
  9. public $level = '黄金';
  10. //静态属性
  11. public static $view = '霹雳侠影';
  12. //抽象属性:没被初始化的属性,默认为null
  13. public $abstract;
  14. //类方法
  15. public function fun(){
  16. //实例化
  17. //self:类引用,直接用引用类名
  18. // $user = new self;
  19. // return "姓名:{$user->uname},级别:{$user->level}";
  20. //$this:
  21. return "姓名:{$this->uname},级别:{$this->level}";
  22. //备注1:使用$this,则可不要$user = new self;
  23. //备注2:现在普通方法可以调用静态成员,但不推荐使用
  24. }
  25. //类方法访问外部成员,需要用参数传入
  26. public function fun1($outfun,$outname)
  27. {
  28. return '类方法访问外部成员==>'.$outfun().$outname;
  29. }
  30. //静态方法:不依赖示例,可以直接调用;静态方法只调用静态成员
  31. public static function fun2(){
  32. //静态成员是类,不属于类示例,不能用$this引用示例
  33. return self::$view;
  34. }
  35. }
  36. //类的实例化:用new来调用
  37. $user = new Users();
  38. //访问正常属性
  39. echo "访问正常属性:".$user ->uname.",数组元素:".$user->arr[2];
  40. echo "<br>";
  41. //访问静态属性:类名::属性
  42. echo "访问静态属性:".Users::$view;
  43. echo "<br>";
  44. //访问抽象属性
  45. var_dump($user->abstract);
  46. echo "<hr>";
  47. //访问类方法
  48. echo "访问普通类方法=>".$user->fun();
  49. echo "<br>";
  50. //访问类外部成员:外部函数(匿名函数),外部变量
  51. //外部函数
  52. $outfun =function()
  53. {
  54. return "欢迎";
  55. };
  56. //外部变量
  57. $outname ='经典款';
  58. echo $user->fun1($outfun,$outname);
  59. echo "<br>";
  60. //访问静态方法
  61. echo "访问静态方法==>".$user->fun2();

3.类的访问权限
  1. <?php
  2. //类的访问权限
  3. class Users
  4. {
  5. // public:公共成员,类的内外部及子类皆可调用
  6. // private:私有成员,仅限类的内部调用
  7. // protected:受保护成员,仅限类的内部和子类调用
  8. public $title='圣墟';
  9. private $author='辰东';
  10. protected function fun(){
  11. return "书名:".$this->title.",作者:".$this->author;
  12. }
  13. }
  14. //子类
  15. class Novel extends Users
  16. {
  17. protected $leve = "白金作家";
  18. public function fun12(){
  19. return $this->fun().",".$this->leve;
  20. }
  21. }
  22. //实例化
  23. echo "父类中访问==》".(new Users)->title;
  24. echo "<hr>";
  25. $novel = new Novel();
  26. echo "子类中访问==》".$novel->fun12();

4.类的扩展
  1. <?php
  2. //类的扩展
  3. // final: 类前加禁止类扩展
  4. class Users
  5. {
  6. // public:公共成员,类的内外部及子类皆可调用
  7. // private:私有成员,仅限类的内部调用
  8. // protected:受保护成员,仅限类的内部和子类调用
  9. public $title='圣墟';
  10. private $author='辰东';
  11. // final: 方法前加:禁止重写
  12. public function fun(){
  13. return "书名:".$this->title.",作者:".$this->author;
  14. }
  15. }
  16. //子类(扩展类)
  17. class Novel extends Users
  18. {
  19. //1.扩展
  20. //属性扩展
  21. protected $leve = "白金作家";
  22. //方法扩展
  23. public function fun12()
  24. {
  25. return parent::fun().",".$this->leve;
  26. }
  27. //2.重写
  28. // 属性重写
  29. public $title='圣墟123456';
  30. //方法重xie
  31. public function fun(){
  32. return "书名:".$this->title.",作者:".$this->author."级别:{$this->leve}";
  33. }
  34. }
  35. //实例化
  36. $novel = new Novel();
  37. echo "子类中访问方法扩展==》".$novel->fun12();
  38. echo "<hr>";
  39. echo "子类中访问方法重写==》".$novel->fun();

Correcting teacher:天蓬老师天蓬老师

Correction status:qualified

Teacher's comments:类与对象有意思吧
Statement of this Website
The copyright of this blog article belongs to the blogger. Please specify the address when reprinting! If there is any infringement or violation of the law, please contact admin@php.cn Report processing!
All comments Speak rationally on civilized internet, please comply with News Comment Service Agreement
0 comments
Author's latest blog post