php 类的初始化
发布:smiling 来源: PHP粉丝网 添加日期:2014-08-17 20:23:13 浏览: 评论:0
- 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中定义类的语法是:
- <?php
- class class_name // 在面向对象编程类中,习惯上类的第一个字符为大写,并且必须符合变量的命名规则.
- {
- //函数与变量的集合
- }
- ?>
在定义类时你可以按自已的喜好的格式进行定义,但最好能保持一种标准,这样开发起来会更有效些.
数据成员在类中使用"var"声明来定义,在给数据成员赋值之前,它们是没有类型的,一个数据成员可以是一个整数,一个数组,一个相关数组(associative array)或者是一个对象.
下面是一个类定义的实际例子,代码如下:
- 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()的函数,用来给实例中的对象赋以初值,代码如下:
- 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;
- }//开源代码phpfensi.com
现在我们再定义一个叫“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();
执行结果应是这样的:
Tags: php 类的初始化
相关文章
- ·PHP 面向对象 继承(2013-11-14)
- ·PHP面向对象开发——封装关键字(2013-11-14)
- ·php-对象的声名-构造-继承-案例(2013-11-14)
- ·开发大型PHP项目的方法(2013-11-27)
- ·php $$是什么意思(2013-11-28)
- ·几个PHP面向对象小实例(2013-12-08)
- ·关于PHP中的Class的几点个人看法(2013-12-08)
- ·PHP中的面向对象和面向过程(2013-12-08)
- ·PHP5.0中多态性的实现方案浅析(2014-01-14)
- ·PHP中MVC框架之文件入口实例详解(2014-01-16)
- ·PHP autoload实现自动加载类(2014-01-16)
- ·php __call方法使用说明(2014-01-17)
- ·PHP面向对象之旅:static变量与方法(2014-01-17)
- ·php中关于抽象(abstract)类和抽象方法的问题解析(2014-02-10)
- ·PHP Class类与对象学习笔记(2014-02-10)
- ·PHP面向对象开发之魔术函数详解(2014-02-10)
推荐文章
热门文章
最新评论文章
- 写给考虑创业的年轻程序员(10)
- PHP新手上路(一)(7)
- 惹恼程序员的十件事(5)
- PHP邮件发送例子,已测试成功(5)
- 致初学者:PHP比ASP优秀的七个理由(4)
- PHP会被淘汰吗?(4)
- PHP新手上路(四)(4)
- 如何去学习PHP?(2)
- 简单入门级php分页代码(2)
- php中邮箱email 电话等格式的验证(2)