精华内容
下载资源
问答
  • 在阐述的概念之前我们来先说说面向对象编程的概念:面向对象的程序设计(Object-OrientedProgramming,简记OOP)立意于创建软件重用代码,具备更好地模拟现实世界环境的能力,这使它被公认是自上而下编程的优胜...

    在阐述类的概念之前我们来先说说面向对象编程的概念:面向对象的程序设计(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对面向对象编程语言提供的支持不但有利于我们设计程序的结构,对于对程序的维护也能提供很大的帮助。

    展开全文
  • 在阐述的概念之前我们来先说说面向对象编程的概念:面向对象的程序设计(Object-Oriented Programming,简记OOP)立意于创建软件重用代码,具备更好地模拟现实世界环境的能力,这使它被公认是自上而下编程的优胜...

    在阐述类的概念之前我们来先说说面向对象编程的概念:面向对象的程序设计(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对面向对象编程语言提供的支持不但有利于我们设计程序的结构,对于对程序的维护也能提供很大的帮助。

    ---------------------

    本文来自 ttllook 的CSDN 博客 ,全文地址请点击:https://blog.csdn.net/ttllook/article/details/1208146?utm_source=copy

    展开全文
  • Student中可以定义getClassRef()来立即找到学生所在的班级,同样也不需要参数了。这样就可以将Service层省略,还可以做一定的数据缓存。只有当缓存中没有数据时才通过Dao来获取数据,并且刷新缓存。 --------...
  • "名学生的姓名,学号,数学和英语成绩"; cin>>na>>No>>ma>>en; x[i].input(na,No,ma,en); s1+=ma; s2+=en; } cout<<"数学平均成绩"<<s1/y<<'\n'&...
  • 为什么要用静态成员函数?请分析其理由。 答:不将average函数定义为静态成员函数是行的。程序能通过编译。修改的代码如下。之所以用静态成员函数是因为,引用静态成员函数average函数可以用类名或者对象名,而如果...

    统计学生平均成绩。使用静态成员函数。如果不将average函数定义为静态成员函数行不行?程序能否通过编译?需要作什么修改?为什么要用静态成员函数?请分析其理由。

    答:不将average函数定义为静态成员函数是行的。程序能通过编译。修改的代码如下。之所以用静态成员函数是因为,引用静态成员函数average函数可以用类名或者对象名,而如果是非静态成员函数average只能实例化对象调用函数average,如果没有定义类的对象,那么可以用类名调用静态成员函数average函数,而对象名因为没有建立所以不能调用,尽管没有建立对象的调用毫无意义,但是静态成员函数的使用,提高了语句的逻辑性和可读性。

    #include<iostream>
    using namespace std;
    
    class Student
    {
    	public:
    		Student(int n,int a,float s):num(n),age(a),score(s)
    		{
    			
    		}
    		void total();
    		float average();//声明average是公用成员函数(非静态成员函数) 
    	private:
    		int num;
    		int age;
    		float score;
    		static float sum;
    		static int count;
    };
    
    void Student::total()
    {
    	sum+=score;
    	count++;
    }
    
    float Student::average()//定义average是公用成员函数(非静态成员函数)
    {	
    	return (sum/count);
    }
    
    float Student::sum=0;
    int Student::count=0;
    
    int main()
    {
    	Student stud[3]=
    	{
    		Student(1001,18,70),Student(1002,19,78),Student(1005,20,98)
    	};
    	int n;
    	cout<<"please input the number of students:";
    	cin>>n;
    	for(int i=0;i<n;i++)
    	{
    		stud[i].total();
    	}
    	cout<<"the average score of "<<n<<" students is "<<stud[n-1].average()<<endl;//用stud对象数组调用average函数(非静态成员函数)
    	return 0;
    }
    
    
    展开全文
  • Java中定义

    2020-12-18 09:29:28
    为什么属性是以变量形式存在? 假设描述一个学生 学生包括那些属性: 学号:110 姓名:“张三” 性别:‘男’ 或 (true/false) 住址:“深圳宝安区” 以为属性对应的是数据,数据在程序中只能放到变量中 所以属性...

    怎么定义一个类,语法格式是什么
    [修饰符列表] class 类名{
    //类体 = 属性 + 方法
    //属性在代码上以“变量”的形式存在(描述状态)
    //方法描述动作/行为
    }

    注意:修饰符列表可以省略
    

    为什么属性是以变量形式存在?
    假设描述一个学生
    学生包括那些属性:
    学号:110
    姓名:“张三”
    性别:‘男’ 或 (true/false)
    住址:“深圳宝安区”

    以为属性对应的是数据,数据在程序中只能放到变量中
    所以属性就是变量

    变量的分类
    变量根据出现的位置进行划分
    方法体中声明的变量:局部变量
    方法体外声明的变量:成员变量

    对象的创建和使用
    在下面程序的主方法内,可以放弃问Student类

    创建对象的语法
    new 类名();

    变量类型 对象名    =  new Student;
    Student  ZhangSan  =  new Student;
    

    以上,new Student是对象,严格来说,张三不是对象,只是一个变量名

    数据类型
    		基本数据类型
    			byte short int long float double boolean char
    		引用数据类型
    			String、前面创建的学生类等等
    		
    		所有类都是引用数据类型
    

    类是模板,通过一个类,可以创建多个对象
    new是一个运算符。专门负责对象的创建

    public class StudentTest{
    	public static void main(String[] args){
    		Student ZhangSan = new Student();//通过Student类实例化了三个Student对象
    	}
    }
    
    


    在StudentTest文件中,使用Student类实例化了一个对象
    那么编译时,有编译顺序吗?

    可以直接编译StudentTest文件,编译器会自动寻找Student类
    这里还没有编译Student文件,没有Student.class文件
    但是编译器发现有Student.java文件,此时编译器会自动编译Student.java文件
    #本文参考动力节点Java零基础教程,已获得原作者许可
    #视频链接https://www.bilibili.com/video/BV1Rx411876f

    展开全文
  • 为什么定义了一个Vector类型的vector,其中Student是我自己定义的一个,用来储存学生的数据。之后我定义了一个Student stu;为什么我用vector.add(stu);会没有任何反应??
  • 图中蓝条和橙条的分界线低位数,橙条和灰条的分界线中位数,灰条的顶端高位数。 考虑到高位数的定义是前10%的平均值,因此高位数工资对应的排位是10%以内。换言之,能拿到高位数工资的人,意味着他至...
  • 小学生之与对象

    2015-09-21 23:30:00
    为什么要采用面向对象思想进行程序设计与开发 1.可以实现代码的复用 2.符合人思考的方式 和对象的定义 1.定义:用class关键修饰的叫做 2.对象的定义:类名定义的...
  • 首先,在我们进行选择、比较的时候,我们更喜欢直接赋值变量,以int或者string类型的最多,比如当我们定义一个学生类的性别的时候,我们更喜欢使用male 或者female来进行赋值。 class student: def __init__(self):...
  • 在面向对象的编程中,总是离不开和对象这两个概念,那么具体什么类什么是对象呢,一直是一个很难解释的问题,简单来说是一事物的或具有相似特征的事物的抽象,它是抽象的,不能具体话,而实例则是的具体化...
  • 可是根据本人的理解,父类对象强转成子之后应该就是一个子类对象吧,为什么不具备子类的属性和方法呢。 下面是具体案例: 比如我定义了一个父类对象Person: Class Person { private string name; //定义person的...
  • 结论:在一个中,如果某个函数中没有使用任何非静态成员变量,这个函数可以定义为静态函数; 需求二:使用模拟圆形;并提供获取圆形面积的功能; 实现代码: 结论:如果一个中的某个变量,需要在的...
  • 接口是什么,为什么要使用接口

    千次阅读 2020-07-04 21:33:03
    接口是什么,为什么要使用接口 1. 接口是什么 首先,从定义上讲,接口是一种用来定义程序的协议,它描述可属于任何或结构的一组相关行为。 从个人角度上,接口可以理解为一系列公共方法的集合;比如:学生会拍球,...
  • LINUX是什么? LINUX是一个免费unix内核,适用于386-AT计算机,附带完整源代码。 主要让黑客、计算机科学学生使用,学习和享受。 它大部分用C编写,但是一小部分是用gnu格式汇编,而且引导序列用的是因特尔...
  • 的关系

    2019-03-12 11:08:19
    定义:A类是一种B类的时,例如学生是一类人,学生类继承人类;猫是一种动物,猫类继承动物类。 为什么要用继承: 1.子类可以拥有父类的(非私有)特征(属性),(非私有)行为(方法); 2.子类也可以定义自己的属性和方法....
  • ListView优化中ViewHolder要不要定义为static静态内部? 给学生讲课的时候,发现存在这个问题,下来百度了下,发现很纠结,涉及到了内部对外部的引用,静态的生命周期等java知识,现总结如下: ...
  • 1.概述学习了前面的面向对象的基础概念后,我们了解要以... 问题我们定义一个学生类,它有姓名、年龄属性,class Student{String name;int age;}为了看到这两个属性的值。我们再定义一个方法,把这两个属性显示出...
  • 当希望一个可以存取另一个的私有成员时,可以将该声明另一的友元。 protected:  <span class="hljs-comment">//把这些数放在这, 方便调用 Basic *next; <span class="hljs-comment">//指针 ...
  • 和对象

    2017-07-22 15:47:01
    Java是一门面向对象的语言,类和对象是Java的基础和核心。 1.什么是类和对象 先以一段简单的代码来了解一下类和对象 ...//定义学生类的name属性 pubic int age; public String school; publ
  • 案例:定义学生类,统计学生共交多少钱? 用类变量,属于公共的属性 类变量与实例变量的区别: (1)加上static称为类变量或者静态变量,否则称为 实例变量 (2)类变量是与类相关的,公共的属性 (3)实例变量属
  • 2.定义学生类,修改类,增加类。为什么是第二种好,什么模块化,封装什么的我 不太懂,为什么别人说第二种修改起来简单我不理解啊第一种在那一个类里改函数不就得了啊 就一套变量啊,第二种每个类都有一套,比第一种...
  • 的继承

    2014-06-29 16:29:26
    我们知道,是一个比较抽象的概念,而且一个大也可以分成许多小,比如人和学生,学生一定是人,那么他就一定有人的属性和方法,所以,在定义学生这个的时候,就可以让他继承人这个的属...
  • java回忆录—与对象(万物皆对象)

    千次阅读 多人点赞 2016-08-04 00:10:38
    是一种抽象的数据类型,其定义为:class 类名{ }一句话:对象是的实例,是对象的模板我们如何表示一个现实世界事物呢:属性 就是该事物的描述信息————成员变量行为 就是该事物能够做什么————方法 举例...
  • 与对象

    2016-07-23 18:10:21
    类与对象 1.1 什么是类 类在生活语言中就像是种类、类别,一些事物的总称。类在Java编程语言中属于一个较广泛...1.2 类的结构(格式) 以一个学生类为例,定义一个简单的学生类:  public class Student{ //作为
  • 关于Java的继承简介

    2018-11-04 14:42:24
    1.为什么要继承? 类与对象是Java编程的核心,基本上每一个Java程序都含有类与对象。在编一个程序之前,首先要定义一个类,然后在定义类中的各种属性与方法,...//定义一个学生类 public class Student { //定义一...
  • 目录   1.什么和实例 1.什么和实例 面向对象最重要的概念就是(class)和实例(instance),是抽象的模板,比如学生这个抽象的...1、以Student类为例,在Python中,定义类 如下: class Stude...

空空如也

空空如也

1 2 3 4 5 ... 17
收藏数 326
精华内容 130
关键字:

为什么定义学生类