首页 > php代码 > php 类的初始化

php 类的初始化

<?php
class child {
    private $parent;
    function __construct($parent) {
        $this->parent = $parent;
    }
    function getnationality() {
        return $this->parent->nationality;
    }
}
$parent = new parent('hispanic');
$child = new child($parent);
php教程中是通过类来完成信息封装的,在php中定义类的语法是:class class_name
// 在面向对象编程类中,习惯上类的第一个字符为大写,并且必须符合变量的命名规则。
{
    //函数与变量的集合
    
}
?>

在定义类时你可以按自已的喜好的格式进行定义,但最好能保持一种标准,这样开发起来会更有效些。

数据成员在类中使用"var"声明来定义,在给数据成员赋值之前,它们是没有类型的。一个数据成员可以是一个整数,一个数组,一个相关数组(associative array)或者是一个对象。

下面是一个类定义的实际例子:

<?php
class student {
    var $str_name; //姓名
    var $str_sex; //性别
    var $int_id; //学号
    var $int_english; //英语成绩
    var $int_maths; //数学成绩
    
}
?>

这是一个很普通定义类的简单例子,用于显示学生的学习成绩,类名为student,student类包涵了一个学生的基本属性:姓名、性别、学号、英语成绩和数学成绩。

function我们称之为在类中被定义的函数,在函数中访问类成员变量时,你应该使用$this->var_name,其中var_name 指的是类中被声明的变量,否则对一个函数来说,它只能是局部变量。 我们先定义一个input()的函数,用来给实例中的对象赋以初值:

<?php
function input($name, $sex, $id, $englis, $maths) {
    $this->str_name = $name;
    $this->str_sex = $sex;
    $this->int_id = $id;
    $this->int_englis = $english;
    $this->int_maths = $maths;
}

现在我们再定义一个叫"showinfo()"的函数,用于打印学生的基本情况:

function showinfo() //定义showinfo()函数
{
    echo ("姓名:" . $this->str_name);
    echo ("性别:" . $this->str_sex);
    echo ("学号:" . $this->int_id);
    echo ("英语成绩:" . $this->int_english);
    echo ("数学成绩:" . $this->int_maths);
}

而定义好的类则必须使用new关键词来生成对象: $a_student = new student;

例如我们要为一个名为 $wing的对象创建实例,并进行赋值,可以使用下面的代码:$wing = new student; //用new关键词来生成对象

$wing->input("wing", "男", 33, 95, 87);

//分别输入wing的姓名、性别、学号、英语成绩、数学成绩,其中姓名和性别是字符型变量,所以需要用双引号,其它为数值型变量则不需要。

通过下面这段完整的源代码,我们就可以很清楚的看到类在php是怎么被运用的:

class student {
    var $str_name;
    var $str_sex;
    var $int_id;
    var $int_english;
    var $int_maths;
    function input($name, $sex, $id, $english, $maths) {
        $this->str_name = $name;
        $this->str_sex = $sex;
        $this->int_id = $id;
        $this->int_english = $english;
        $this->int_maths = $maths;
    }
    function showinfo() {
        echo ("姓名:" . $this->str_name);
        echo ("性别:" . $this->str_sex);
        echo ("学号:" . $this->int_id);
        echo ("英语成绩:" . $this->int_english);
        echo ("数学成绩:" . $this->int_maths);
    }
}
$wing = new student;
$wing->input("wing", "男", 33, 95, 87);
$paladin = new student;
$paladin->input("paladin", "女", 38, 58, 59.5);
$wing->showinfo();
$paladin->showinfo();
?>

执行结果应是这样的: 

姓名:wing 

性别:男 

学号:33 

英语成绩:95 

数学成绩:87 

姓名:paladin 

性别:女 

学号:38 

英语成绩:58 

数学成绩:59.5


永久链接:http://www.phprm.com/code/33558.html

转载随意!带上文章地址吧。

标签:none

发表留言