找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 999|回复: 0

类与对象的基本语法

[复制链接]

304

主题

42

回帖

1338

积分

管理员

积分
1338
发表于 2021-4-21 23:12:11 | 显示全部楼层 |阅读模式
1、类的定义与语法
  1. <?php

  2. // 1. class 关键字
  3. class Simple
  4. {

  5. }

  6. // 2. 类名必须是任何非保留字。由数字,字母,下划线组成,不能以数字开头。

  7. // 3. 类可以包含属性和方法
  8. class _Simple
  9. {
  10.         // 属性(变量)
  11.     public $name = 'jack';

  12.         // 方法(函数)
  13.         public function getName()
  14.         {
  15.         }
  16. }

  17. // 4. 类里面不能出现过程化代码
  18. class S
  19. {
  20.         public $a = 123;

  21.         // echo 123;
  22.         // $a++;

  23. }

  24. // 5. 实例化
  25. // 1. new 关键字。类无法直接使用,需要通过对象。
  26. // 2. 类应该在被实例化之前定义
  27. // 3. 如果在 new 之后跟着是一个字符串,则可以实例化
  28. // 4. 对象运算符 -> ,用于访问属性,和调用方法的。
  29. class Cart
  30. {
  31.         // 属性
  32.         public $num = 100;

  33.         // 方法
  34.         public function test()
  35.         {
  36.                 echo 'Hello<br>';
  37.         }
  38. }

  39. // 实例化对象
  40. $bmw1 = new Cart();
  41. // 通过对象调用方法
  42. var_dump($bmw1);
  43. $bmw1->test();

  44. $bmw2 = new Cart();
  45. var_dump($bmw2);
  46. $bmw2->test();

  47. //
  48. $className = 'Cart';
  49. $bmw3 = new $className;
  50. var_dump($bmw3);
  51. $bmw3->test();

  52. // 6. 与函数一样,类名不区分大小写
  53. $bmw4 = new cart();
  54. var_dump($bmw4);
复制代码
2、属性的访问与赋值

  1. // 定义人类

  2. class Person
  3. {
  4.         // 姓名属性
  5.         public $name;
  6.         // 年龄属性
  7.         public $age;

  8.         // 自我介绍的功能(方法)
  9.         public function introduction()
  10.         {

  11.         }
  12. }

  13. $obj = new Person();
  14. echo '<pre>';
  15.         print_r($obj);
  16. echo '</pre>';
复制代码
3、伪变量
  1. <?php

  2. // 定义人类
  3. class Person
  4. {
  5.         // 姓名属性
  6.         public $name;
  7.         // 年龄属性
  8.         public $age;

  9.         // 自我介绍的功能(方法)
  10.         public function introduction($obj)
  11.         {
  12.                 var_dump($obj === $this);

  13.                 // $this 伪变量
  14.                 // 含义: 代表的是对象,表示的是自己。
  15.                 echo '<pre>';
  16.                         print_r($this);
  17.                 echo '</pre>';
  18.                 echo "我叫{$this->name},今年{$this->age}岁!<br>";
  19.         }
  20. }
  21. // 实例化对象
  22. $lili = new Person();
  23. // 初始化属性
  24. $lili->name = 'lili';
  25. $lili->age = 1;
  26. // lili 进行自我介绍
  27. $lili->introduction($lili);

  28. echo '<pre>';
  29.         print_r($lili);
  30. echo '</pre>';

  31. // 实例化对象
  32. $rose = new Person();
  33. // 初始化属性
  34. $rose->name = 'rose';
  35. $rose->age = 1;
  36. $rose->introduction($rose);
  37. echo '<pre>';
  38.         print_r($rose);
  39. echo '</pre>';
复制代码
4、独立存在的对象
  1. <?php

  2. // 定义人类
  3. class Person
  4. {
  5.         // 姓名属性
  6.         public $name;
  7.         // 年龄属性
  8.         public $age;

  9.         // 自我介绍的功能(方法)
  10.         public function introduction()
  11.         {
  12.                 // $this 伪变量
  13.                 // 含义: 代表的是对象,表示的是自己。
  14.                 echo '<pre>';
  15.                         print_r($this);
  16.                 echo '</pre>';
  17.                 echo "我叫{$this->name},今年{$this->age}岁!<br>";
  18.         }
  19. }
  20. // 实例化对象
  21. $lili = new Person();
  22. // 初始化属性
  23. $lili->name = 'lili';
  24. $lili->age = 1;
  25. // lili 进行自我介绍
  26. $lili->introduction();


  27. // 实例化对象
  28. $rose = new Person();
  29. // 初始化属性
  30. $rose->name = 'rose';
  31. $rose->age = 1;
  32. $rose->introduction();
  33. echo '<pre>';
  34.         print_r($rose);
  35. echo '</pre>';

  36. // 同一个类的不同对象
  37. // 它们各自独立存在,一个类可以实例化N个对象。
复制代码

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|小黑屋|外汇论坛 ( 粤ICP备16021788号 )

GMT+8, 2024-10-23 07:27 , Processed in 0.069253 second(s), 19 queries .

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表