zoukankan      html  css  js  c++  java
  • 面向对象,类和对象的整理

     

    面向对象的三大要素:封装;继承;多态;

    面向对象;

    传统的面向过程思想:

    是一个人把所有事情干完,一个人走完所有过程;

    现代面对对象思想:

    把所有的事,分工给好多人,每个人完成一部分;

    类的定义,通俗说就是定义了一个大的方法,完成了一部分的内容

    包括了属性,和方法;

    类和对象的区别;

    类是代表了一些事或者物,区分为一个类,包含了许多的小类或者对象;

    对象是代表了具体到某一个事或者物;

    类的定义

    class 类名 {

       属性;

       方法;

    }

     创建一个类的实例化对象:

    1. $对象名 = new 类名();

    2. $变量1 = '1';

       $对象 = new $变量名1();//可变类名(代表不同的类名创建这个对象)

    3. $对象名 = new  self; //self指代类本身,这行代码只能在类内部方法中使用。

     

     

    4. $对象名2 = new $对象名1; 通过new对象创建一个新的对象

       

     使用对象时;

     一般都是使用属性,使用方法和使用常量

     对象的传值,分为值传递和引用传递;默认为值传递;

     类中的成员:

     属性和方法的定义;

    类中属性的定义:静态和一般的区别; 静态属性和方法是属于类的,一般方法和一般属性是属于对象的;

     

    一般属性定义:

     1.var $属性名 = '属性值'; 定义并赋值;

     2.var $属性名;           也可以定义不赋值;

     3.public $属性名;       这个也是定义不赋值  public 可以代替var  并比var更加正式;

     4.public $属性名 = '属性值'; 定义并赋值;

     属性的使用:

     $对象名->属性名='属性值';(属性名不加$符号);

     可以直接输出这个对象的默认属性值;

     echo $对象->属性名;

    静态属性定义:

     static $属性名 = '属性值';

    静态属性的调用; 调用时用 :: 双冒号语法

     ::$静态属性名;

     对象也可以调用静态属性;但是没有提示,写死也可以出效果,但是不推荐;

    一般方法定义:  方法前可以加public  意思的公共的都能调用

     function 方法名(里面可以加参数){

      

     }

     一般方法的调用:

     $对象名->方法名(里面可以加相应的实参);(调用方法的时候要加小括号);

     方法中 $this关键字是一个伪对象,代表当前类的对象

     可以用$this来代表当前类; $this->属性名,表示调用默认的属性;

     一般方法中可以调用静态方法;

     静态方法定义:

     static function 方法名(){

     }

     静态方法的调用: 同样用 :: 双冒号语法

     类名::静态方法名();

     静态方法中,不可以调用一般方法,不可以用$this;

     不可以被对象所调用;

     

     self:代表当前类,

     同样的在方法里输出  return new self;

     在调用这个方法的时候,就能得到一个对象;这个类的对象

    构造方法:

    在创建对象时会自己执行;默认是空,也可以写出来执行一些方法,通常用来情况值;

    function __construct(){

     执行的内容:

    }

     

    析构方法:

    创建的对象PHP文件执行完毕后销毁对象,默认不写;就是销毁对象,

    function __destruct(){

     执行的内容:

    }

    class p {
        public $v1 =1;
        //     构造方法
         function __construct($n){
             $this->v1 = $n;
             echo "<br/>被创建了";
         }
    //     析构方法
         function __destruct(){
             echo "<br/>被销毁了";
         }
    }
    
    echo "<hr>";
    $p1 = new p(5);
    $p2 = new p(15);
    unset($p1);
    echo "<hr>";

    unset() 也可以销毁对象

  • 相关阅读:
    matlab-图像处理-数字图像去噪
    matlab-图像处理-边缘检测算法五种
    深度学习-梯度下降原理-学习率的作用-反向传播-神经网络基础构架-正则化与激活函数
    深度学习-softmax分类器
    Jvm调优理论篇
    美团分布式定时调度框架XXL-Job基本使用
    Mongodb的基本使用及对接多数据源
    登录注册框手机号和验证码校验--前端部分
    登录接口jmeter提取token,用于后面模块验证
    jmeter之报文造数据,生成随机数字,,,生成前面固定格式在随机数字
  • 原文地址:https://www.cnblogs.com/baobaoa/p/9134856.html
Copyright © 2011-2022 走看看