PHP面向对象复习知识点一

自己在敲代码的时候,才发现自己的基础知识不够扎实,然后我就回头来看基础知识,所有的东西都在基础知识之上才能完成。就像一座高楼,如果底层都不扎实,这栋楼肯定不会长远,所以基础知识非常非常重要。

主要复习的是面向对象的东西。

面向对象有三大属性,分别为分装性,继承性,多态性

那么什么是对象,类的实例化得结果就是对象,对象的抽象就是类,现有类,在有对象。对象是系统中用来描述客观事物的一个实体,它是构成系统的一个基本单元。比如说做一个产品,你有一个模板,那么你就按照这个模板来做,做出来的东西肯定都是一样的(非绝对,这个跟程序还是有区别)。

首先我们要知道什么是类,类的命名规则,以及类中包含了什么。

类是一个独立的程序单元 ,内部主要包括了成员属性和成员方法。类的命名规则是驼峰规则,每个单词首写字字母需要大写,并且具有意义的(这样别人一看就懂)

成员属性,在申明成员属性的时候,需要在属性前加上private、public、static、var等关键字。成员方法也是类似成员属性一样

实例化对象

比如 $person=new Person();

$person 实例化变量名,new关键字,Person()类名

那么对象中的成员的访问

$person->成员属性=值,成员属性赋值

$person->成员方法,成员方法调用

构造函数 __construct 在执行所有自定义函数之前执行,在一个类只能一个构造函数

<?php
class Person{
//定义成员属性
	var $name;
	var $sex;
	var $age;
	function __construct($name='',$sex='man',$age=18){
		$this->name=$name;
		$this->sex=$sex;
		$this->age=$age;
	}
//定义成员方法
	function say(){
        //使用$this访问自己对象内部的成员属性
		echo '我的名字:'.$this->name.',性别为:'.$this->sex.',年龄:'.$this->age.'。<br/>';
	}
	function run(){
		echo $this->name.'在running';
	}
	
}

$person1=new Person('jack','woman',17);

$person2=new Person('jachin','man');
$person3=new Person('juck');//实例化类
$person4=new Person();
$person4->name='ann';//给成员属性赋值
$person1->say();//调用成员方法
$person2->say();
$person3->say();
$person4->say();

 

这里调用构造函数的时候,会自动赋值

 析构方法的什么格式与构造方法相似,在类中申明的析构方法名称也是固定的,__destruct()。析构方法允许在销毁一个对象之前执行一些特定的操作,比如关闭文件、释放结果集等

<?php
class Person{
//定义成员属性
	var $name;
	var $sex;
	var $age;
	function __construct($name,$sex,$age){
		$this->name=$name;
		$this->sex=$sex;
		$this->age=$age;
	}
//定义成员方法
	function say(){
        //使用$this访问自己对象内部的成员属性
		echo '我的名字:'.$this->name.',性别为:'.$this->sex.',年龄:'.$this->age.'。<br/>';
	}
	function run(){
		echo $this->name.'在running';
	}
	function __destruct(){
		echo 'say goodby  '.$this->name.'<br/>';
	}
}

$person1=new Person('jack','woman',17);

$person2=new Person('jachin','man',18);
$person3=new Person('juck','woman',19);//实例化类

那么为啥会jack这个先进入的,却最后输出。因为对象引用都是存放在栈内存中,由于栈的先进后出特点,所以最后创建的对象引用会被最先释放。

private 关键字来修饰成员的时候,除了对象内部可以访问之外,其他事无法访问,访问就会出错,private就是私有属性

发布了20 篇原创文章 · 获赞 21 · 访问量 2万+

猜你喜欢

转载自blog.csdn.net/jachinFang/article/details/95480502