登录  /  注册

php中的类是什么意思?

青灯夜游
发布: 2019-10-19 17:48:00
原创
3936人浏览过

php中的类是什么意思?

在php中,类(class)是变量与作用于这些变量的函数的集合,是具有相同属性和操作的一组对象的集合。它为属于该类的所有对象提供了统一的抽象描述,其内部包括属性和操作两个主要部分。

PHP是一种松散类型的语言,所以通过类型重载不起作用,通过参数的个数不同来重载也不起作用。 有时在面向中重载构造函数非常好,这样你可以通过不同的方法创建对象(传递不同数量的参数)。在PHP中就是通过类来实现的。

在PHP中是通过类来完成信息封装的,在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()的函数,用来给实例中的对象赋以初值:

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<br> 
”);
echo (“性别:$this->str_Sex <br> 
”);
echo (“学号:$this->int_Id <br> 
”);
echo (“英语成绩:$this->int_English <br> 
”);
echo (“数学成绩:$this->int_Maths <br> 
”);
    }
登录后复制

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

$A_student=new Student;
登录后复制

例如我们要为一个名为$Wing的对象创建实例,并进行赋值,可以使用下面的代码:

$Wing =new Student;  //用new关键词来生成对象
$Wing ->Input (“Wing”,”男”,33,95,87); 
//分别输入Wing的姓名、性别、学号、英语成绩、数学成绩,其中姓名和性别是字符型变量,所以需要用双引号,其它为数值型变量则不需要。
登录后复制

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

<?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<br> 
”);
echo (“性别:$this->str_Sex <br> 
”);
echo (“学号:$this->int_Id <br> 
”);
echo (“英语成绩:$this->int_English <br> 
”);
echo (“数学成绩:$this->int_Maths <br> 
”);
    }
   } 
  $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中文网

以上就是php中的类是什么意思?的详细内容,更多请关注php中文网其它相关文章!

智能AI问答
PHP中文网智能助手能迅速回答你的编程问题,提供实时的代码和解决方案,帮助你解决各种难题。不仅如此,它还能提供编程资源和学习指导,帮助你快速提升编程技能。无论你是初学者还是专业人士,AI智能助手都能成为你的可靠助手,助力你在编程领域取得更大的成就。
来源:php中文网
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
最新问题
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2024 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号