PHP 学习笔记六——面对对象编程
面向对象的程序设计(Object-orientied programming)
转载于PHP面对对象
对象是一个由信息及对信息进行处理的描述所组成的整体,是对现实世界的抽象。在现实世界里我们所面对的事情都是对象,如计算机、电视机、自行车等。
对象的三个特性
- 对象的行为
- 对象的形态
- 对象的表示
面向对象涉及的内容知识
面向对象 | 解释 |
---|---|
类 | 定义了一件事物的抽象特点,包含数据的形式以及对数据的操作 |
对象 | 类的实例 |
成员变量 | 定义在类内部的变量,对外不可见,可通过成员函数访问,实例化后可以称为对象的属性 |
成员函数 | 定义在类内部,用来访问对象数据 |
继承 | 继承性是子类自动共享父类数据结构和方法的机制,是类之间的一种关系。在定义一个类时候可以在一个已经存在的类基础上进行,把这个已经存在的类所定义的内容作为自己的内容,并加入若干新的内容 |
父类 | 一个类被其他类继承,也叫基类或者超类 |
子类 | 继承其他类,也称为派生类 |
多态 | 相同的函数或方法作用于多种类型的对象获得不同效果。不同对象,收到同一消息可以产生不同结果,称为多态性 |
重载 | 就是函数或者方法有相同的名称,但是参数列表不相同的情况 |
抽象性 | 指的是具有一致的数据结构(属性)和行为(操作)的对象抽象成类。一个类就是这样一种抽象,反映了与应用有关的重要性质,忽略其他无关内容。任何类的划分都是主观的,但是必须与具体的应用有关 |
封装 | 将现实世界中存在的某个客体的属性和行为绑定在一起,并放置在一个逻辑单元内 |
构造函数 | 主要用来创建对象时初始化对象,即对象成员变量赋初值,总是和 new 运算符一起使用在创建对象的语句中 |
析构函数 | 和构造函数相反,当对象所在的函数已经调用完毕时候,自动执行析构函数。 |
简单实例
<?php
class Site {
/* 成员变量 */
var $url;
var $title;
/* 成员函数 */
function setUrl($par){
$this->url = $par;
}
function getUrl(){
echo $this->url . PHP_EOL;
}
function setTitle($par){
$this->title = $par;
}
function getTitle(){
echo $this->title . PHP_EOL;
}
}
$runoob = new Site;
$taobao = new Site;
$google = new Site;
// 调用成员函数,设置标题和URL
$runoob->setTitle( "BigBoss" );
$taobao->setTitle( "淘宝" );
$google->setTitle( "Google 搜索" );
$runoob->setUrl( 'www.bigboss.com' );
$taobao->setUrl( 'www.taobao.com' );
$google->setUrl( 'www.google.com' );
// 调用成员函数,获取标题和URL
$runoob->getTitle();
$taobao->getTitle();
$google->getTitle();
$runoob->getUrl();
$taobao->getUrl();
$google->getUrl();
?>