在阐述类的概念之前我们来先说说面向对象编程的概念:面向对象的程序设计(Object-Oriented Programming,简记为OOP)立意于创建软件重用代码,具备更好地模拟现实世界环境的能力,这使它被公认为是自上而下编程的优胜者。它通过给程序中加入扩展语句,把函数“封装”进编程所必需的“对象”中。面向对象的编程语言使得复杂的工作条理清晰、编写容易。说它是一场革命,不是对对象本身而言,而是对它们处理工作的能力而言。对象并不与传统程序设计和编程方法兼容,只是部分面向对象反而会使情形更糟。除非整个开发环境都是面向对象的,否则对象产生的好处还没有带来的麻烦多。有人可能会说PHP不是一个真正的面向对象编程的语言, PHP 是一个混合型 语言,你可以使用面向对象编程,也可以使用传统的过程化编程。然而,对于大型项目的开发,你可能想需要在PHP中使用纯的面向对象编程去声明类,而且在你的项目开发只用对象和类。随着项目越来越大,使用面向对象编程可能会有帮助,面向对象编程代码很容易维护,容易理解和重复使用,这些就是软件工程的基础。在基于Web的项目中应用这些概念就成为将来网站成功的关键。

对象(Object)是问题域或实现域中某些事物的一个抽象,它反映此事物在系统中需要保存的信息和发挥的作用;它是一组属性和有权对这些属性进行操作的一组服务的封装体。 关于对象要从两方面理解:一方面指系统所要处理的现实世界中的对象;另一方面对象是计算机不直接处理的对象,而是处理相应的计算机表示,这种计算机表示也称为对象。简单的来说,一个人就是一个对象,一个尺子也可以说是个对象。当这些对象可以用数据直接表示时,我们就称他为属性,尺子的度量单位可以是厘米,公尺或英尺,这个度量单位就是尺子的属性。

在PHP里我们可以定义一个类,类(Class)就是指变量与一些使用这些变量的函数的集合。PHP是一种松散类型的语言,所以通过类型重载不起作用,通过参数的个数不同来重载也不起作用。 有时在面向中重载构造函数非常好,这样你可以通过不同的方法创建对象(传递不同数量的参数)。在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;

}现在我们再定义一个叫“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

PHP现有的版本较以前的版本在对面向对象编程的支持方面有了很大的改善,但支持的还不是很完整,不过现阶段PHP对面向对象编程语言提供的支持不但有利于我们设计程序的结构,对于对程序的维护也能提供很大的帮助。

php定义一个学生类_PHP中的类-什么叫类相关推荐

  1. 定义一个学生类Student,包含三个属性姓名、年龄、性别, 创建三个学生对象存入ArrayList集合中。 A:使用迭代器遍历集合。 B:求出年龄最大的学生,然后将该对象的姓名变为:小猪佩奇。

    Java基础 定义一个学生类Student,包含三个属性姓名.年龄.性别, 创建三个学生对象存入ArrayList集合中. A:使用迭代器遍历集合. B:求出年龄最大的学生,然后将该对象的姓名变为:小 ...

  2. python定义一个学生类姓名、年龄、性别、成绩、你成绩评价_.定义一个学生类Student,包含三个属性姓名、年龄、性别,创建三个学生对象存入ArrayList集合中。...

    3.定义一个学生类Student,包含三个属性姓名.年龄.性别,创建三个学生对象存入ArrayList集合中. A:遍历集合遍历输出. B:求出年龄最大的学生,让后将该对象的姓名变为:王者荣耀. pa ...

  3. 【水汐のC#】计一个Windows应用程序,在该程序中定义一个学生类和班级类,以处理学生的学号,姓名,语文,数学和英语3门课程的期末考试成绩。实现如下要求的功能:

    设计一个Windows应用程序,在该程序中定义一个学生类和班级类,以处理学生的学号,姓名,语文,数学和英语3门课程的期末考试成绩.实现如下要求的功能: 根据姓名查询该学生的总成绩: 统计全班学生总分的 ...

  4. python中定义一个学生类_python3 class类 练习题

    """ 一.定义一个学生Student类.有下面的类属性: 1 姓名 name 2 年龄 age 3 成绩 score(语文,数学,英语) [每课成绩的类型为整数] 类方 ...

  5. 以小组为单位,设计一个Windows应用程序,在该程序中定义一个学生类和班级类,以处理学生的学号,姓名,语文,数学和英语3门课程的期末考试成绩。

    设计一个Windows应用程序,在该程序中定义一个学生类和班级类,以处理学生的学号,姓名,语文,数学和英语3门课程的期末考试成绩. 实现如下要求的功能: 1.根据姓名查询该学生的总成绩: 2.统计全班 ...

  6. JAVA入门级教学之(定义一个学生类)

    首先定义一个学生类          学生类是一个模板,里面描述了学生的共同特征[状态+行为] 当前类只描述学生的状态信息[属性] Student是类,属于引用数据类型,这个类型名就是:Student ...

  7. python创建学生类姓名学号_定义一个学生类,包含学号、姓名、平时成绩和考核成绩四个数据成员和以下成员方法(用Python语言):...

    定义一个学生类,包含学号.姓名.平时成绩和考核成绩四个数据成员和以下成员方法(用Python语言):Python实验题目:类与文件实验要求:1.定义类2.定义并使用类对象3.打开和存取文件... 定义 ...

  8. Java——(1)定义一个学生类Student,包含属性:姓名(String name)、年龄(int age) (2)定义Map集合,用Student对象作为key

    分析以下需求,并用代码实现: (1)定义一个学生类Student,包含属性:姓名(String name).年龄(int age) (2)定义Map集合,用Student对象作为key,用字符串(此表 ...

  9. 定义一个学生类。 有下面的类属性:①姓名②年龄③成绩(语文,数学,英语)[每课成绩的类型为整数] 类方法: ①获取学生的姓名:get_name() 返回类型:str ②获取学生的年龄:ge

    python实现:定义一个学生类. 有下面的类属性:①姓名②年龄③成绩(语文,数学,英语)[每课成绩的类型为整数] 类方法: ①获取学生的姓名:get_name() 返回类型:str ②获取学生的年龄 ...

  10. 定义一个学生类用来存储学生的信息

    定义一个学生类用来存储学生的信息(包括:学号.姓名.英语成绩.高数成绩.体育成绩),在main方法中定义一个数字存储5名学生的信息. 要求: 1.按名字查询并输出成绩 2.查询并输出所有科目不及格的人 ...

最新文章

  1. 【iOS-cocos2d-X 游戏开发之十六】Cocos2dx编译后的Android自动使用(-hd)高清图设置自适应屏幕...
  2. python基本语法的有关知识
  3. window for jdk install
  4. R数据可视化--ggplot2定位之坐标系详解
  5. RabbitMQ中的虚拟主机、交换机、消息队列、绑定、消息
  6. leetcode:Plus One
  7. 点击按钮创建一个表格 点击按钮创建一个表格 权限选择 元素的value属性操作
  8. 痞子衡嵌入式:第一本Git命令教程(0)- 索引
  9. bzoj 4319 cerc2008 Suffix reconstruction——贪心构造
  10. PHP发送和接收JSON请求
  11. 这就是即将发布的苹果刘海屏MacBook Pro样机?
  12. Python 正则表达式(二)
  13. linux系统编程综合练习-实现一个小型的shell程序(四)
  14. 1220.统计元音字母序列的数目-LeetCode
  15. ‘Microsoft Office Enterprise 2007 在安装过程中出错‘ 的解决方法
  16. 《图像分析基础》的专有名词解析
  17. 源码解析:init-method、@PostConstruct、afterPropertiesSet孰先孰后
  18. 【路径规划】基于matlab模糊控制机器人路径规划【含Matlab源码 1643期】
  19. 黄永成think php rest,Rest控制器
  20. 摩尔庄园手游服务器链接不稳定,摩尔庄园手游公测常见问题解决方法一览

热门文章

  1. 使用BeautifulSoup解析html入门
  2. 使用AlarmManager定时更换壁纸
  3. 狂神笔记-SpringMVC
  4. $.parser.parse()是什么意思
  5. 交通大数据应用细分_大数据之路之交通大数据应用总体架构设计
  6. 哈夫曼编码和二进制编码_案例
  7. 新浪微博图床防盗链解决方案
  8. 【HUAWEIH3C】对比华为和华三的本地AAA登陆配置
  9. 航测倾斜摄影如何用Smart3D(ContextCapture)处理大疆无人机照片生成三维模型
  10. Linux下新手基本操作及技巧看图上路 (4)