Blogger Information
Blog 26
fans 0
comment 0
visits 21450
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template
类的创建过程与类的属性
default
Original
1267 people have browsed it

类的定义:

  • 变量 + 函数 = 对象
  • 对象也是实现”代码复用”的手段
  • 要使用对象, 就得先创建一个模板,根据这个模板,不断的创建多个对象出来,实现复用

    类的声明与实例化

    • 可以小写 但是要大写 遵守行业规范
    • 类中变量调用时先要 new一下然后可以调用 类里面的变量
  1. class User{
  2. public $name='王壮';
  3. }
  4. $user=new User;
  5. echo $user->name.'<br>';

类的实例化:创建对象的过程, new

  • 如果不知道类名,get_class()
  • echo get_class($goods);
  • var_dump($goods instanceof User);//判断当前对象是不是这个类
    1. 实例化一个类
    2. $goods = new User();
    3. // 类的实例, 对象, 在不会引起误会的场景下, 实例与对象是同义词
    4. var_dump($goods instanceof Goods);
    5. // 如果不知道类名,get_class()
    6. echo get_class($goods);

    类成员: 类属性, 类方法, 类常量

    1. 常规属性: 非静态属性/动态属性

  • 类属性: 类中变量
  • 类中成员的作用域: 访问限制
  • 类属性就是有访问限制的变量
  • 语法: 访问限制符 $变量标识符;
  • 可以用模板字面量的形式填写 nowdow/heredoc
  • 类里面的变量可以在类外面被赋值
  1. class User{
  2. public $name='王壮';
  3. public $age=18;
  4. // 可以用模板字面量的形式填写// nowdow
  5. public $sex= <<< 'SEX'
  6. man
  7. SEX;
  8. // heredoc
  9. public $work= <<<"WORK"
  10. php
  11. WORK;
  12. }
  13. $user = new User;
  14. echo $user->name.'<br>';
  15. echo $user->name='李根';

2.非法属性值

  • 不能用变量
  • 不能用类属性/类方法
  • 不能用表达式
  • 不能使用函数调用
  1. // 不能用变量
  2. // public $age = $var;
  3. // 不能用类属性/类方法
  4. // public $user = $this->name;
  5. // 不能用表达式
  6. // public $total = $price * 10;
  7. // 不能使用函数调用
  8. // public $creat = time();

3. 静态属性

  • 如果一个属性的值,对所有实例来说是一样的, 用类访问更方便,此时可以声明为静态的
  • 调用时候 echo User::$city;
  • 访问静态属性: 使用范围解析符, 双冒号::
  1. class User
  2. {
  3. public static $nationality = '中国/CHINA';
  4. }
  5. echo User::$city;

4.抽象属性: 没有被初始化, 默认值就null

  • 抽象类可以赋值
  • 调用方法和普通类一样

    1. class User
    2. {
    3. public $salary = null;
    4. }
    5. $user=new User;
    6. echo $user->salary='123';
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