面向对象,类和对象的整理

Posted 王保利d窝

tags:

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

 

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

 

面向对象;

传统的面向过程思想:

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

现代面对对象思想:

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

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

包括了属性,和方法;

类和对象的区别;

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

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

类的定义

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() 也可以销毁对象

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

面向对象知识点回顾整理

Java知识系统回顾整理01基础02面向对象01类和对象

JavaSE:类和对象

JAVA方法的定义

VSCode自定义代码片段——JS中的面向对象编程

VSCode自定义代码片段9——JS中的面向对象编程