php继承多态
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>无标题文档</title>
</head> <body> <?php /*
class Ren
{
public $name; function Say()
{
echo $this->name."正在讲话";
}
} class China extends Ren
{
//子类对父类的方法进行重写
function Say()
{
parent::Say();
echo "你好";
} function Run()
{
echo $this->name."正在跑步";
}
} class America extends Ren
{
//子类对父类的方法进行重写
function Say()
{
echo "hello";
}
}*/ /*$c = new China();
$c->Say();
$a = new America();
$a->Say();
var_dump($c);
*/ //overload 重载
//可以使类里面的某个方法产生多种效果,根据传入的参数不同,可以执行不同的逻辑
//也是多态的一种,编译多态
/* class Test
{
public string show()
{
return "0参";
}
public string show(string s)
{
return "1参";
}
public string show(string s,string a)
{
return "2参";
}
} Test t = new Test(); t.show("a","b");
*/ //父类
/* class Ren
{
public virtual string Say()
{
return "说话";
}
} //子类
class China : Ren
{
public override string Say()
{
return "你好";
}
}
//子类
class America : Ren
{
public override string Say()
{
return "hello";
}
} //父类引用r指向子类实例
Ren r = new America();
MessageBox.Show(r.Say()); r = new China();
MessageBox.Show(r.Say()); //子类的对象可以代替父类的对象
America a = new America();
MessageBox.Show(Eat(a));
//怪兽吃人,需要一个人的参数
public string Eat(Ren r)
{
return "这个人味道不错!";
}
*/ ?> </body>
</html>
1.封装
目的:为了使类更加安全
做法:
1.将成员变量变为私有的
2.在类里面做一个方法来间接的访问成员变量
3.在该方法里面加控制 2.继承
1.父类
2.子类
子类可以继承父类的一切
重写:override
特点:单继承,一个子类只能有一个父类,一个父类可以派生多个子类
3.多态
当父类引用指向子类实例的时候,由于子类对父类的方法进行了重写,父类引用在调用该方法的时候表现出的不同,称为多态
运行多态 条件
1.要有继承
2.父类引用指向子类实例
3.要有重写
4.调重写的方法
php继承多态的更多相关文章
- Winform打砖块游戏制作step by step第5节---重构代码,利用继承多态
一 引子 为了让更多的编程初学者,轻松愉快地掌握面向对象的思考方法,对象继承和多态的妙用,故推出此系列随笔,还望大家多多支持. 二 本节内容---重构代码,利用继承多态 1. 主界面截图如下: 2. ...
- java面向对象(封装-继承-多态)
框架图 理解面向对象 面向对象是相对面向过程而言 面向对象和面向过程都是一种思想 面向过程强调的是功能行为 面向对象将功能封装进对象,强调具备了功能的对象. 面向对象是基于面向过程的. 面向对象的特点 ...
- 浅谈学习C++时用到的【封装继承多态】三个概念
封装继承多态这三个概念不是C++特有的,而是所有OOP具有的特性. 由于C++语言支持这三个特性,所以学习C++时不可避免的要理解这些概念. 而在大部分C++教材中这些概念是作为铺垫,接下来就花大部分 ...
- No2_4.接口继承多态_Java学习笔记_经典案例
import java.lang.reflect.Field; import java.util.ArrayList; import java.util.Collections; import jav ...
- Java继承多态中的方法访问权限控制
java中的方法天生具有继承多态特性,这点与C++有很大不同(需要在父类方发上加virtual关键字),但用起来确实方便了许多. 最简单的继承多态 声明一个接口BaseIF,只包含一个方法声明 pub ...
- Java三大特性(封装,继承,多态)
Java中有三大特性,分别是封装继承多态,其理念十分抽象,并且是层层深入式的. 一.封装 概念:封装,即隐藏对象的属性和实现细节,仅对外公开接口,控制在程序中属性的读和修改的访问级别:将抽象得到的数据 ...
- Java开发知识之Java的继承多态跟接口*
Java开发知识之Java的继承多态跟接口 一丶继承 1.继承的写法 在Java中继承的 关键字是 extends 代表一个类继承另一个类. 继承的含义以及作用: 继承就是基于某个父类的扩展.制定出来 ...
- -1-2 java 面向对象基本概念 封装继承多态 变量 this super static 静态变量 匿名对象 值传递 初始化过程 代码块 final关键字 抽象类 接口 区别 多态 包 访问权限 内部类 匿名内部类 == 与 equal
java是纯粹的面向对象的语言 也就是万事万物皆是对象 程序是对象的集合,他们通过发送消息来相互通信 每个对象都有自己的由其他的对象所构建的存储,也就是对象可以包含对象 每个对象都有它的类型 也就是 ...
- python面向对象之继承/多态/封装
老师说,按继承/多态/封装这个顺序来讲. 子类使用父类的方法: #!/usr/bin/env python # coding:utf-8 class Vehicle: def __init__(sel ...
- java继承多态和抽象类接口
一.继承 通过扩展一个已有的类,并继承该类的属性和行为,来创建一个新的类.已有的称为父类,新的类称为子类(父类派生子类,子类继承父类).(1)继承的优点: ①代码的可重用性: ②父类的属性 ...
随机推荐
- javascript中三种典型情况下this的含义
this本意:基于函数的执行环境绑定. 1)一般函数内部,返回的是window(作用域链中的第二层全局作用域) function test() { return this; } alert(test( ...
- Java super关键字活用
在实际开发中我们要自定义组件,就需要继承自某个组件类,如果我们自定义的这个组件类也需要像被继承的这个组件类一样,拥有丰富的构造方法. 关键字super的作用就更加显得尤为重要了,你可以在堆砌自己自定义 ...
- 使用 pod install 还是 pod update ?
翻译自:https://guides.cocoapods.org/using/pod-install-vs-update.html 介绍: 许多人开始使用CocodPods的时候认为pod insta ...
- github for windows 安装 使用
遇到无数的未知问题.光是安装就搞了好久. 安装程序显示安装了.NET Framework4.5,然后提示重启.重启后,自动开始下载文件,最多到2%就走不动了. 后来请求了下面这个链接,才开始下载了(虽 ...
- Redis集群最佳实践
今天我们来聊一聊Redis集群.先看看集群的特点,我对它的理解是要需要同时满足高可用性以及可扩展性,即任何时候对外的接口都要是基本可用的并具备一定的灾备能力,同时节点的数量能够根据业务量级的大小动态的 ...
- javascript keycode大全
keycode 8 = BackSpace BackSpacekeycode 9 = Tab Tabkeycode 12 = Clearkeycode 13 = Enterkeyc ...
- Spring Mvc的入门
SpringMVC也叫Spring Web mvc,属于表现层的框架.Spring MVC是Spring框架的一部分,是在Spring3.0后发布的. Spring Web MVC是什么: Sprin ...
- 解决:No module named pkg_resources
今天在装bleach的时候,发现bleach依赖的其中的一个库是html5lib,从pypi下载源码包,执行python setup.py install,报错了: 提示我的setuptools版本过 ...
- 疯狂C#~伴随着我的库存管理¥
每次的等待都是期待下一次的勃发!但激进的我非常想和大家学习一些东西,所以特地的分享了一个库存管理, 生活中容易运用的很多,但现在的学业希望能够得到各界人士的帮助!!! 首先:会有几个类来让它们协调 ( ...
- 网站iis日志分析工具
1.下载log parser https://www.microsoft.com/en-us/download/details.aspx?displaylang=en&id=24659 2.进 ...