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是同一个对象
    ?>
    

    类和对象在内存中的分布

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

    封装

    • 说明
      • 封装就是有选择性的提供数据
      • 通过访问修饰符来实现封装
  • 相关阅读:
    并发包学习(二)-容器学习记录
    初尝微信小程序开发与实践
    记一次全站升级https引发的一系列问题
    Hadoop集群搭建
    es5 的类和继承
    TypeScript 类和继承
    TypeScript 函数
    TypeScript 变量 和 数据类型
    js变量提升与函数提升
    vue 路由监听
  • 原文地址:https://www.cnblogs.com/SharkJiao/p/14116987.html
Copyright © 2011-2022 走看看