OOP面向对象基本演绎

作业标题:0812 oop编程-2
作业内容:oop基础:请举例实例演绎以下难点 1. 类(对象抽象化的结果)与对象 (类实例化结果) 2. 构造方法 3. 对象成员之间的内部访问 $this 4. private仅限本类中使用 protected本类中,子类中使用 5. 类的自动加载 spl_autoload_register 6. 静态成员的访问 类的引用self:: 7. 类的继承 扩展 父类方法(魔术方法,普通方法)的重写 parent:: 调用父类成员


  • 类(对象抽象化的结果)与对象 (类实例化结果)
    类、对象
  • 构造方法

    1. <?php
    2. class Student{
    3. public $username;
    4. public $hight;
    5. private $age;
    6. protected $gender;
    7. // __construct()魔术方法 构造函数 构造器 类实例化一次就被自动调用一次 __get __set __call __callStatic
    8. public function __construct($username, $hight, $age,$gender){
    9. // 1. 初始化类成员 让类/实例化的状态稳定下来
    10. // 2. 给对象属性进行初始化赋值
    11. // 3.可以给私有成员,受保护的成员初始化赋值
    12. $this->username = $username;
    13. $this->hight = $hight;
    14. $this->age = $age;
    15. $this->gender = $gender;
    16. }
    17. public function run(){
    18. return "姓名:$this->username,身高:$this->hight,年龄:$this->age,$this->gender";
    19. }
    20. }
    21. $test=new Student("张三","170",25,"男");
    22. echo $test->run();
    23. ?>
  • 对象成员之间的内部访问 $this
    this
  • private仅限本类中使用 protected本类中,子类中使用
    private

    protected
  • 类的自动加载 spl_autoload_register
    autoload
    自动加载代码

    1. <?php
    2. spl_autoload_register(function($className){
    3. // 先查看要加载的类
    4. printf('类名:%s<br>',$className);
    5. // 将类命名空间与类所在的路径进行一一映射
    6. // linux / window \
    7. // 解决在linux系统中命名空间失效的问题
    8. $file = __DIR__.'\\controller\\'.str_replace('\\',DIRECTORY_SEPARATOR,$className).'.php';
    9. // echo $file;
    10. if(!(is_file($file) && file_exists($file)))
    11. {
    12. throw new \Exception('文件名不合法或者不存在');
    13. }
    14. require $file;);

    autoload

  • 静态成员的访问 类的引用self::
    static
  • 类的继承 扩展 父类方法(魔术方法,普通方法)的重写 parent:: 调用父类成员
    parent::

更多相关文章

  1. public protected private 的应用
  2. oop父类、子类、静态成员的总结及autoload自动加载的初步进阶
  3. opp基础:类与对象的 类的继承和调用 构造器 静态成员等
  4. 作业内容:oop基础:请举例实例演绎以下难点 1. 类(对象抽象化的结
  5. php面向对象之对象成员,静态成员,继承
  6. php面向对象的入门学习(类与对象)
  7. 类与对象的概念,类与对象的特点及构造函数
  8. php灭绝师太私密亲传面向对象(OOP)编程
  9. 1. 请实例演绎你对面向对象类与对象关系的理解? 2. 请实例演绎oop

随机推荐

  1. 【Android】TV端项目开发挖坑总结
  2. Android的关键的持久数据应该在onPause()
  3. 在学习android + opencv遇到的各种问题
  4. Android加速度传感器实现“摇一摇”,带手
  5. Android软键盘弹出遮挡EidtText的解决方
  6. Android客户端与云服务器进行网络通信
  7. 关机充电图标
  8. Android 6预置APK的权限授予
  9. ReactNative 命令生成bundle文件
  10. Android(安卓)Studio 2.0--如何使用新模