博客列表 >类的创建过程与类的属性

类的创建过程与类的属性

default
default原创
2020年04月29日 16:31:511261浏览

类的定义:

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

    类的声明与实例化

    • 可以小写 但是要大写 遵守行业规范
    • 类中变量调用时先要 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';
声明:本文内容转载自脚本之家,由网友自发贡献,版权归原作者所有,如您发现涉嫌抄袭侵权,请联系admin@php.cn 核实处理。
全部评论
文明上网理性发言,请遵守新闻评论服务协议