日期: 2013年12月8日

面向对象程序设计之 PHP(二):类的抽象与定义

我们知道,面向对象程序的单位就是对象,而对象又是通过类的实例化出来的,所以,我们首先要做的就是声明一个类。做出来一个类很容易,只要掌握基本的程序语法定义规则就可以做的出来。如下所示:

class 类名{

    //在这里部署代码

}

使用一个关键字class和后面加上一个你想要的类名以及加上一对大括号, 这样一个类的结构就定义出来了。但光有结构是不够的,更重要的是里面的内容,下面我们就以“人”为模板,来编写一个类。

我们在描述一个“人”时,通常都会把描述分为两部分:一是描述一些特征如人的姓名,性别,年龄,身高……;二是描述一些他能做的事情:会讲英语,会编程序……。在编程的时候,我们通常把静态的特征定义成属性,用来描述这个类或者实例,把能做些什么,定义成方法或者叫函数(Java里面爱叫方法而C++里面爱叫函数)

class 人{

    成员属性:姓名,性别,年龄,身高,体重,电话,家庭住址……
    成员方法:会讲英语,会编程序,会做设计……

}
成员属性的定义:

通过在类定义中使用关键字” var “来声明变量,即创建了类的属性,虽然在声明成员属性的时候可以给定初值, 但是在声明类的时候给成员属性初始值是没有必要的,比如说要是把人的姓名赋上“张三”,那么用这个类实例出几十个人,这几十个人都叫张三了,所以没有必 要, 我们在实例出对象后给成员属性初始值就可以了。

<!--?php 

class classname{

    var $somevar; //声明变量

}

?-->
成员函数的定义:

通过在类定义中使用如的以下例子来声明函数,即创建了类的方法。每个由该类实例化的对象都享有这些方法

<!--?php 

class classname{

    function somefun(参数列表){ //定义函数

          //代码

    } 

}

?-->

下面我们就可以把“人”来模拟成一个类了

<!--?php 

class person {

    var $name;
    var $sex;
    var $age;
    var $hight;
    var $weight;
    var $phoneNum;
    var $address;

    function canSpeakEnglish() {
        echo "I can speak English";
    }

    function canProgram() {
        echo "I can program";
    }

    function canDesign() {
        echo "I can design";
    }

}

?-->

上面就是一个类的声明, 从属性和方法上声明出来的一个类。如果你已经掌握了以上定义类的步骤与方法,那用同样的方法你也可以写出别的类,比如圆类:

class 圆{

    成员属性:半径长度
    成员方法:求周长和面积

}

代码如下:

<!--?php 

class circle {

    var $radius;

    function getGirth() {
        echo 2 * 3.14 * $this->radius; // $this->radius 用于调用 $radius,第三第四章会详细介绍
    }

    function getArea() {
        echo 3.14 * $this->radius * $this->radius;
    }
}

?-->

至此,你也能写出一个类啦!要不,赶紧写个矩形的类试试?

面向对象程序设计之 PHP(一):面向对象程序设计,类,对象

面向对象程序设计(Object Oriented Programming, OOP),有别于面向过程程序设计(Procedure Oriented Programming, POP),它强调“对象”这一个概念,面向对象程序设计就是使用对象进行程序设计。要理解什么是面向对象程序设计,就不得不先理解两个概念————“对象”和“类”。那么,什么是“对象”,什么是“类”呢?

继续阅读

版权所有 © 2025 吴嘉豪的博客

主题设计 Anders Noren返回顶部 ↑