面向对象

Posted abinlulu

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了面向对象相关的知识,希望对你有一定的参考价值。

一、OOP(Object-Oriented Programming 面向对象的编程)

  Xue  Xi  Object Oriented  学习面向对象的  xxoo

  特点:抽象

  1.什么是对象

     对象: 万事万物皆对象。客观存在的任何一个实体

  2.什么是面向对象编程

     我们用来调用各个功能模块来实现编程

  3.什么是面向过程编程

     所有内容都必须一步一步的写

  2.1 什么是类

      对相同或者相似对象的抽象描述

  2.2 类与对象的关系是什么

        先有类  通过类得到对象

 

二、类的定义格式

 

  [修饰符] class 类名 {

    [成员属性]

    [成员方法]

  }

 

  1.成员属性

    就是写在类里面的变量  前面加上一个public 修饰

  2.成员方法

    就是写在类里面的函数 前面加上一个public 修饰

  3.类的定义里面 不能出现过程化代码

三、成员的访问

   1. 成员属性
    1.1  成员属性赋值

      //属性名前面一定不能加$  如果加了就改变了含义

      对象->属性名 = 属性值

       1.2   成员属性 取值

        对象->属性名

    2. 成员方法

    调用方式

      对象->成员方法名();

  3.伪变量

    $this  代表的是对象 表示的是自己

    只能再对象的方法里面使用

  4.成员特性

      1.成员属性

        a) 成员属性可以有默认值

        b) 默认值不能是变量

        c) 默认值可以有运算

        d) 默认值不能是函数

        e) 默认值可以是常量

        f) 值可以是任意类型

      2.成员方法

         与以往的函数一样

        可以直接输出自己的成员属性 不需要通过形参的形式传递

  四、构造方法

    i.与类名同名的方法叫做构造方法

    ii.构造方法的作用是初始化对象

    iii.如果我们初始化方法里面给了默认值 那么定义属性的时候默认值就没有意义

 

    //php特有的构造方法

    //如果两个同时存在 php特有的的这个构造方法生效

 

 

public function __construct($name){

      $this->name =$name;

}

 

    //传统的构造方法

    //在使用new关键字得到对象的是 会自动调用

   

 public function Person($name){

      $this->name =$name.‘#######‘;

 }

 

    __construct() 构造方法  在使用new关键字得到对象的时候自动调用  作用: 初始化

  五、析构方法

     __destruct 析构方法 在对象销毁的时候自动调用 作用:写遗言 回收资源

  六、对象中的内存存储方式

    先进后出 栈内存

  七、对象中的比较

 

    =  对象中 取别名  不会产生 新对象

    ==  对象的比较中 只要两个对象是同一个类的实例并且所有属性和值都相等则相等

    === 在对象的比较中 唯一的作用是比较两个对象是否是同一个对象

    //我们有三种得到新对象的方式  new 是第一种

 


以上是关于面向对象的主要内容,如果未能解决你的问题,请参考以下文章

面向面试编程代码片段之GC

PHP面向对象之选择工厂和更新工厂

Java中面向对象的三大特性之封装

python之路之前没搞明白4面向对象(封装)

Scala的面向对象与函数编程

Python面向对象学习之八,装饰器