PHP中面向对象的继承和多态基本用法

Extends

继承:

特点:单继承

一个子类只能有一个父类,一个父类可以有多个子类

例子:

Class Ren

{

Public $name;

Public $sex;

Public $yuyan;

Function say()

{

Echo $this->name.”正在讲话”;

}

}

美国人的子类:

Class amercia extends Ren

{

Function say()

{

Parent::say();    调用父类的say()方法

Echo “hello”;    子类对父类的方法进行重写

}

}

中国人的子类:

Class china extends Ren

{

Function say()

{

Parent::say();

Echo “你好”;

}

}

多态:
条件:1.必须要继承  2.子类要对父类的方法进行重写  3.父类引用指向子类实例
概念:当父类的引用指向子类实例的时候,由于子类对父类的办法进行了重写,父类引用在调用相应的时候表现出来

时间: 2024-11-01 09:20:20

PHP中面向对象的继承和多态基本用法的相关文章

Mysql数据库大量删除操作及谈面向对象中的封装继承和多态原理(图)

Mysql数据库大量删除操作及谈面向对象中的封装继承和多态原理(图)最近进行数据库操作,遇到一个问题,就是大量删除一个数据表中的数据后,由于设定了id是自增的,导致再插入时,默认生成的id会很大,这个时候想要再次插入新的数据,应该怎么办呢?1.明确目前最后一个id的大小select id from tags order by id DESC limit 0,1; 假设返回的是9,则设置数据表从10开始自增 2.修改这个数据表从10开始自增alter table tags auto_increme

C#中面向对象编程机制之多态学习笔记

C#的多态性: 我的理解是:同一个操作,作用于不同的对象时,会有不同的结果,即同一个方法根据需要,作用于不同的对象时,会有不同的实现. C#的多态包括:接口多态,继承多态. 其中继承多态又包括通过虚拟方法实现的多态和通过抽象方法实现的多态性 例如:基类动物都有吃的方法,但是不同的动物吃的东西就会不一样,例如狼吃肉,羊吃草,这样"吃"的这个方法就要在派生类里面重新实现以下,运行时,通过指向基类的指针,来调用实现派生类中的方法. 接下来举例实现多态性. 1. 接口多态性 把动物"

oc面向对象-封装,继承,多态的用法

面向对象的三大特征 — 封装 (Encapsulation) — 继承 (Inheritance) — 多态 (Polymorphism) 一,封装 1.信息隐藏,隐藏对象的实现细节,不让用户看到. 2.将东西包装在一起,然后以新的完整形式呈现出来. 3.对象同时具有属性和方法两项特性,对象的属性和方法通常被封装在一起,共同体现事物的特性,,二者相辅相承,不能分割 . 4.OC中也有四种访问权限修饰符:@public.@protected.@private.@package. private:私

Python 面向对象编程——继承和多态

1.1   继承和多态 1.1.1   继承 当我们定义一个class的时候,可以从某个现有的class继承,新的class称为子类(Subclass),而被继承的class称为基类.父类或超类(Base class.Super class). >>> class Animal(object): ...    def run(self): ...        print('Animal is running...') #父类 ... >>> class Dog(Ani

面向对象(4)--继承和多态

一.继承 继承的类称为子类,被继承的类称为基类,父类,或超类. 继承的优点: 简化了代码 提高了代码的健壮性 提高了代码的安全性 多态的前提 缺点:耦合与内聚.耦合性越低,内聚性越高,代码越好. 比如,有一个Animal类,有个run方法: In [1]: class Animal: ...: def run(self): ...: print('我正在跑步!!!') ...: 当我们需要创建Dog和Cat类时,可以直接继承Animal: In [3]: class Dog(Animal): .

java中封装,继承,多态,接口学习总结

### 一:封装java中封装是指一种将抽象性函式接口的实现细节部分包装.隐藏起来的方法. 封装可以被认为是一个保护屏障,防止该类的代码和数据被外部类定义的代码随机访问.要访问该类的代码和数据,必须通过严格的接口控制.封装最主要的功能在于我们能修改自己的实现代码,而不用修改那些调用我们代码的程序片段.适当的封装可以让程式码更容易理解与维护,也加强了程式码的安全性.***封装的优点***    1  良好的封装能够减少耦合.    2 类内部的结构可以自由修改.     3 可以对成员变量进行更精

php 面向对象之继承、多态和静态方法

<?php //继承:子类可以继承父类的一切 //特点:单继承 //父类 class Ren { public $name; public $sex; public $yuyan; function Say() { echo $this->name."正在讲话!"; } } //美国人的子类 class America extends Ren { public $ziben; //子类对父类的方法重写 function Say() { parent::Say(); //调用

C#中简单的继承和多态

今天我们来聊一聊继承,说实话今天也是我第一次接触. 继承的概念是什么呢?就是一个类可以继承另一个类的属性和方法(成员) 继承是面向对象编程中的一个非常重要的特性. 好了,废话不多说,下面切入正题: 1.首先我们定义一个子类,给它创建两个构造:一个无参构造和一个有参构造 定义一个枚举类 在定义的子类中它有自己独有的属性: 在定义的父类中的属性和构造: 在Main方法中: 同时要注意,在调用子类的带参构造时,我们要想到调用子类构造的时候,没有使用base关键字调用父类的指定的构造,默认调用父类的无参

javascript面向对象:继承、多态

继承 js中同样可以实现类的继承这一面向对象特性,继承父类中的所有成员(变量和属性),同时可扩展自己的成员,下面介绍几种js中实现继承的方式: 1,对象模仿:通过动态的改变 this 指针的指向,实现对父类成员的重复定义,如下: function ClassA(paramColor) { this.color = paramColor; this.sayColor = function() { alert(this.color); } } function ClassB(paramColor,