zoukankan      html  css  js  c++  java
  • 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。在该方法里面加限制条件
    目的:为了使类更安全

  • 相关阅读:
    小甲鱼系列→第一章.基础知识
    FusionCharts-堆栈图、xml格式、刷新数据、添加事件link、传参
    FireBug提示:本页面不包含 JavaScript,明明是包含js的。
    Angular-Chart.js 初接触;;;
    错误 Metadata file 'C:CommoninDebugCommon.dll' could not be found
    UML--PowerDesigner使用小结
    java8入门 错误:找不到或者无法加载主类
    “基础提供程序在Open上失败”
    设计模式--目录开篇
    020医疗项目-模块二:药品目录的导入导出-介绍药品表
  • 原文地址:https://www.cnblogs.com/sunzhenkun/p/7426412.html
Copyright © 2011-2022 走看看