以下为《第7章_面向对象的基本概念_1216V2.0_示例代码》的无排版文字预览,完整内容请下载
第7章 面向对象的基本概念示例代码
例1:以Employee类为例,实例化一个对象并调用方法work()。实例代码如下:
例2:以上篇中描述的类和类的实例化为例,将其通过代码实现。首先定义员工类Employee,声明4个成员变量$name、$height、$age和$sex。然后定义一个成员方法work()用于查看员工信息。最后,实例化类,通过实例化返回对象调用指定的方法。根据调用方法的参数,来查看员工信息。实例代码如下:
例3:本例先声明一个常量,声明了一个变量,实例化对象后分别输出两个值,实例代如下:
例4:本例重写Employee类,下面通过具体实例查看重写后的对象在使用上有哪些不一样,实例代码如下:
例5:本实例首先声明一个对象emp,然后再销毁对象,可以看出,使用析构方法十分简单。实例代码如下:
例6:本例用Employee类生成了两个子类:EmployeeName和EmployeeCity,两个子类使用不同的构造方法实例化了两个对象,并输出信息。实例代码如下:
例7:一个重载的简单实例,根据传递的参数个数不同,调用不同的方法,返回不同值。
例8:当类被实例化后,$this同时被实例化为本类的对象,这时对$this使用get_class()函数,将返回本类的类名。实例代码如下:
例9:本例依次使用了类名、parent关键字和self关键字来调用变量和方法。读者可以观察输出的结果。实例代码如下:
例10:在本例中,对私有变量$name的修改与访问,只能通过调用成员方法来实现。如果直接调用私有变量,将会发生错误。实例代码如下:
例11:本实例首先声明一个protected变量,然后在子类的方法中调用一次,最后在类外直接调用一次,观察一下运行结果,实例代码如下:
例12:本例首先声明个静态变量$num,再声明一个方法,在方法的内部调用静态变量, 然后给变量加1。依次实例化这个类生成两个对象,并调用类方法。可以发现两个对象中的方法返回的结果有了一些联系。最后直接使用类名输出静态变量,看有什么效果。实例代码如下:
例13:本例为Employee类设置关键字final,并生成一个子类MyEmployee,可以看到程序报错,无法执行。实例代码如下:
例14:下面实现这个动物抽象类Animal抽象类包含一个抽象方法eat()。
为抽象类生成两个子类Cat和Dog,分别在两个子类中实现抽象方法。最后实例化两个对象,调用实现后的抽象方法,输出结果。实例代码如下:
例15:本例首先声明了两个接口Dogs和Animal接着声明了两个类Dog和Huskie,其中Dog类继承了Dogs接口;Huskie继承了Dogs和Animal接口。分别实现各自的成员方法后,实例化两个对象$dog和$huskie。最后调用实现后的方法:
例16:本例首先实例化一个Employee类的对象$emp1, $emp1的默认值为张三,然后将对象$emp1使用普通数据类型的赋值方式给对象$emp2赋值。改变$emp2的值为李四再输出对象$emp1的值。实例代码如下:
例17:本实例将上例的代码做些修改。在类Employee中创建__clone()方法,该方法实现的功能是将变量$name的默认值从张三修改为李四。使用对象$emp1克隆出对象$emp2,输出$emp1和$emp2的$name值,查看最终的结果,实例代码如下:
[文章尾部最后500字内容到此结束,中间部分内容请查看底下的图片预览]请点击下方选择您需要的文档下载。
以上为《第7章_面向对象的基本概念_1216V2.0_示例代码》的无排版文字预览,完整内容请下载
第7章_面向对象的基本概念_1216V2.0_示例代码由用户“Luu219”分享发布,转载请注明出处