zoukankan      html  css  js  c++  java
  • PHP面向对象 基本概念

    面向对象介绍

    • 概述

      • 面向对象是一个编程思想。编程思想有面向过程和面向对象
        • 面向过程:编程思路集中的是过程上
        • 面向对象:编程思路集中在参与的对象
    • 好处

      • 多人合作方便
      • 减少代码冗余,灵活性高
      • 代码的可重用性发挥到极致
      • 可扩展性强
    • 名词

      • OOP:面向对象编程(Object Oriented Programming,面向对象编程)
      • OOA: 面向对象分析(Object-Oriented Analysis,OOA)
      • OOD: 面向对象设计(Object-Oriented Design,OOD)

    类和对象

    • 概念

      • 对象是具体存在的事物,对象是由属性(变量)和方法(函数)组成的
      • 类是具有相同属性和行为的一组对象的集合
      • 一个类可以创建多个对象
    • 理解

      • 对象是由属性和方法组成的
      • 类是所有对象的相同属性和方法的集合
      • 在开发的时候先写类,通过类创建对象,通过对象调用方法和属性
      • 一个类可以创建多个对象

    在PHP中实现类和对象

    创建类

    • 语法
    class 类名{
    	//属性
    	//方法
    	//常量
    }
    
    • 概念
      • 类是由属性、方法、常量组成的
      • 也可以说类成员有:属性、方法、常量

    类名的命名规则

    • 规则
      • 以字母、下划线开头,后面跟的是字母、数字、下划线
      • 不能用PHP关键字做类名
      • 类名不区分大小写(变量名区分,关键字、类名不区分大小写)
      • 类名用帕斯卡命名法(大驼峰 单词的首字母大写)
    <?php
    class Student {
        //属性
    	//方法
    	//常量
    }
    ?>
    

    对象实例化

    • 通过new关键字来实例化对象。
      • 小括号可以省略
    <?php
    //定义类
    class Student {
    	//属性
    	//方法
    	//常量
    }
    //实例化对象
    $stu1=new Student();
    $stu2=new Student;		
    var_dump($stu1,$stu2);	
    ?>
    

    对象的比较

    • 概述
      • 相等:结构和保存的值一样就相等
      • 全等:指向同一个对象才是全等
      • 对象的传递是地址传递
    <?php
    //定义类
    class Student {
    	
    }
    //实例化对象
    $stu1=new Student();
    $stu2=new Student;
    $stu3=$stu2; //对象传递的是地址	
    
    var_dump($stu1==$stu2);		//bool(true) ,比较对象的结构
    echo '<br>';
    var_dump($stu1===$stu2);	//bool(false) $stu1和$stu2是否是同一个对象
    echo '<br>';
    var_dump($stu2===$stu3);	//bool(true) $stu2和$stu3是同一个对象
    ?>
    

    类和对象在内存中的分布

    • 说明
      • 对象的本质是一个复杂的变量
      • 类的本质是一个自定义的复杂数据类型
      • 栈区:运行速度快,体积小,保存基本类型
      • 堆区:运行速度稍慢,体积大,保存复杂类型
      • 实例化的过程就是分配内存空间的过程
      • 对象保存在堆区,将堆区的地址保存到栈区

    封装

    • 说明
      • 封装就是有选择性的提供数据
      • 通过访问修饰符来实现封装
  • 相关阅读:
    linux 命令——48 watch (转)
    linux 命令——47 iostat (转)
    linux 命令——46 vmstat(转)
    linux 命令——45 free(转)
    linux 命令——44 top (转)
    linux 命令——43 killall(转)
    linux 命令——42 kill (转)
    linux 命令——41 ps(转)
    linux 命令——40 wc (转)
    Java for LeetCode 068 Text Justification
  • 原文地址:https://www.cnblogs.com/SharkJiao/p/14116987.html
Copyright © 2011-2022 走看看