• PHP面向对象


    面向对象面向过程

    对象:一切皆是对象,由类实例化出来的。

    类:由众多对象抽象出来的。

    定义类        
    class Hero{
        成员变量(一般是定性的值)
        public $name;
        private $blood;   //私有成员  
        protected           //受保护的
        public              //公有的
        成员属性(php里面不存在)
        成员方法&&函数(第一个首字母大写。如果两个单词构成,第一个字母小写,后面的单词首字母大写,驼峰法命名)
        function Run(){
            echo $this->name."跑";    
        }
    }

    类里面的成员是属于对象的,this关键字代表该对象,谁过来调用方法,该对象就代表谁。例如在此处代表$sk

    使用类:实例化。

    $sk = new Hero();
    $sk->name = "沙王";
    echo $sk->name;
    $sk->Run();

    访问修饰符
    private  私有的  加之前要把var去掉     只能在该类里面访问
    protected    受保护的    在该类里面可以访问    在该类的子类里面也可以访问
    public  公有的,在任何地方都可以访问

    class Hero{
        public $name;
        public $blood;
        public $sex;
        
        public function __construct($s){
            $this->sex = $s;
        }
        public function __destruct(){
            echo "析构函数";
        }
    }
    $h = new Hero("田力");
    echo $h->sex;

    构造函数
    特点:写法特殊(类名必须保持一致),执行时间特殊(造对象的时候就会执行)
    作用:对类里面的某些成员进行初始化
    爽下划线打头的方法称作魔术方法

    面向对象

    面向对象的三大特性
    封装    继承        
    多态

    封装

    class Ren{
        public $name;
        private $age;

        给变量赋值的魔术方法
        public function __set($n,$v){
            $this->$n = $v;
        }

       取变量值的魔术方法
        public function __get($n){
            return $this->$n;
        }

    }
    $r = new Ren();

    $r->name = "诸葛亮";
    echo $r->name;

    1。将成员变量变为私有
    2。做一个函数来间接操作
    3。在该方法里面加限制条件
    目的:为了使类更安全

  • 相关阅读:
    原生JS中apply()方法的一个值得注意的用法
    关于“float”的一次探索--遇到了一个span元素可以设置宽高引发的思考
    git常用命令
    react 项目全家桶构件流程
    vue回顶部 组件 可以直接使用
    vscode左边侧边栏字体的大小
    小程序的福音,
    Android实战技巧:Dialog (转)
    给Android 应用开发者的十个建议(转)
    多线程与异步的区别(转)
  • 原文地址:https://www.cnblogs.com/sunzhenkun/p/7426412.html
Copyright © 2020-2023  润新知