面向对象三大特征之【继承】,【多态】

//面向对象三大特性//继承
//概念:子类可以继承父类的一切
//方法重写:在子类里面对父类的方法进行重写
//特点:单继承:一个子类只能有一个父类,一个父类可以派生出多个子类
//override:  重写
//overload:   重载,编程多态

//parent::值名();  放到那个需要调用父类的值名里面的(值),的子类里面!

class Ren
{
     public $name;
    function say()
    {
        echo $this->name."正在讲话!";
    }
}

class China extends Ren
{
    public $dizhi;
    function say()
    {
        parent::say();  //调用父类的say方法
        echo "中国人说话";
    }

}
class America extends Ren
{
    function say()
    {
        echo "speak";
    }

}
$c = new China();
$c->say();

$a = new America();
$a->say();
//面向对象三大特性//多态(运行多态)
//概念:当父类引用指向子类实例,由于子类里面对父类的方法进行了重写,父类引用在调用该方法的时候表现出的不同状态。
//条件:1.必须发生在继承下
//   2.必须重写父类方法
//   3.父类引用调用改方法
//override:  重写:(前提:在继承的基础上,子类在获取了父类的结构以后,可以对父类中同名的方法进行“重构”)。方法的返回值,方法名,形参列表形同:权限修饰符不小于父类的同名方法;子类方法的异常类型不小于父类的;两个方法要同为{static}或同为非{static}。。
//overload:   重载,编程多态  “两同一不同”,“同一类”,同一个方法,不同的参数列表。注:方法的重载与方法的返回值无关,构造器是可以重载的。

//如果一个方法需要一个父类参数,可以给一个子类对象

//类:在PHP里不能用!但必须了解一下!
public class Ren
    {
        public virtual string Speak()
        {
        return "人在说话";
        }
    }

    public class China:Ren
    {
        public override string Speak()
        {
            return "中国人在说话";
        }
    }
    public class America : Ren
    {
        public override string Speak()
        {
            return "美国人在说话";
        }
    }

//多态:
Ren r = new Ren(); //造一个Ren类的引用指向Ren类的对象
Ren r1 = new America();  //父类引用指向子类实例
r1.Speak();   //表现出的不同,成为多态

//子类对象替父类例子
//怪兽吃人
    public string Eat(Ren r)
    {
        return "人类真好吃";
    }

America a = new America();
Eat(a);
时间: 2024-11-07 13:02:19

面向对象三大特征之【继承】,【多态】的相关文章

类与对象 面向对象和面向过程对比 面向对象三大特征:封装 继承 多态

 初识面向对象 面向过程: 一切以事务的发展流程为中心. 面向对象: 一切以对象为中心. 一切皆为对象. 具体的某一个事务就是对象 打比方: 大象进冰箱 步骤: 第一步, 开门, 第二步, 装大象, 第三步, 关门 面向对象:大象, 你进冰箱. 此时主语是大象. 我操纵的是大象. 此时的大象就是对象 1. 面向过程: 一切以事物的流程为核心. 核心是"过程"二字, 过程是指解决问题的步骤, 即, 先?干什么, 后干什么. 基于该思想编写程序就好比在编写一套流水线. 是一种机械 式的编程

(1) 深入理解Java面向对象三大特性 封装 继承 多态

转眼已经工作快6年了,最开始做了2年J2EE:然后整了2年的数据仓库,主要是Cognos的报表开发:现在从事4G LTE核心网的开发,用的语言任然是Java,但写代码的机会不多,基本都是看代码找BUG,偶尔做点new feature也是在比较成熟的框架上复制.粘贴.修改,大部分时间还是在理解业务,钱多.事少.离家近,当时来这家公司图的是后面2点,2年过去了,英文水平有所提升,对敏捷开放也有一定的了解,但技术方面明显退步了或者说没有进步吧,本来以前也不怎么好,因为工作上用不到,自己也没怎么学习,所

JAVA的三大特征 封装继承多态- 简单总结

简单总结一下 封装-即从很多类的抽取相同的代码 写在一个类里. 好处是 代码的重用,安全. 继承-减少代码的书写. 其好处也是 代码的重用. 多态- 把不同的子类对象都当作父类来看,可以屏蔽不同子类对象之间的差异,写出通用的代码,做出通用的编程,以适应需求的不断变化. 总的来说还是接口的重用. 那么总结一下,JAVA的三大特征 其好处 就是代码与接口的重用. 封装可以隐藏实现细节,使得代码模块化: 继承可以扩展已存在的代码模块(类): 它们的目的都是为了——代码重用. 而多态则是为了实现另一个目

【c++笔记十二】面向对象三大特征之《多态》

2015年2月5日 晴 周四 虽然今天天气很好但是长沙重度污染还是呆在机房写笔记好了.昨天写了面向对象的三大特征的前两个--封装和继承.只有你好好理解了继承,我们才好开始今天的[多态]的讲解(如果不懂得请看我的[c++笔记十一]). --------------分割线---------------- 一.虚函数 在开始讲多态之前还得给大家补充两个知识点,第一个就是弄懂虚函数. 还记得我们昨天讲继承的最后一个知识点"多继承"时提到了,用虚继承解决成员数据访问.我们第一次看到了"

面向对象三大特性(封装/继承/多态)

引入:在面向对象思想中,有三大特性,封装  继承  多态. 思考:我们在使用类和对象实现编程的时候,到底是遵循这什么样的逻辑呢?为什么要这样规范类呢? 引入:面向对象很重要的思想就是隐藏,即外部不知道类内部是如何实现业务逻辑的,只管调用和使用结果,这个就是面向对象三大特性之一:  封装 1.封装[掌握] 定义:封装,字面意思就是将内容装到某个容器中,并进行密封保存,在面向对象思想中,封装指数据和对数据的操作捆绑到一起,形成 对外界的隐藏,同时对外提供可以操作的接口. 1.数据:即要操作的数据,在

面向对象三大特征之继承(extends)——Java笔记(六)

继承: 从一般到特殊的关系,是一种拓展关系,子类对象是父类的一种,也可称为”is a“的关系 泛化: 把子类里的共性抽取到父类里的来的过程 特化: 子类在父类的基础上上定义了自己特有的行为特征的过程 格式: 修饰符 class SubClass extends SuperClass{ } SubClass :导出类.继承类.子类 SuperClass:父类.基类.超类.源类 子类SubClass通过extends来继承父类SuperClass 继承是通过extends来实现的 继承提高了代码的复

面向对象三大特征——封装、多态、接口

一.封装 1.封装的概念:将类的某些信息隐藏在类内部,不允许外部程序直接访问,而是通过该类提供的方法来实现对隐藏信息的操作与访问.混那个通过规定方法访问数据 2.封装的好处: 1).只能通过规定方法访问数据: 2).隐藏类的实现细节: 3).方便修改实现: 4).方便加入控制语句. 3.封装的步骤: 1).修改属性的可见性.--设为private; 2).创建爱你共有的getter/setter方法.--用于属性的读写; 3).在getter/setter方法中加入属性控制语句.--对属性值的合

面向对象三大特性:封装,继承,多态(二、多态)

多态 一,多态的概念 多态(polymorphism), 是指一个名字可以有多种语义.在面向对象语言中,多态是指在一棵继承树中的类中可以有多个同名但不同方法体及不同形参的方法.通常有两种途径实现多态:方法的重载和覆盖. 多态性允许以统一的风格处理已存在的变量及相关的类.多态性使得向系统里增加新功能变得容易.继承性和多态性是降低软件复杂性有有效技术. 二,多态的实现 1.方法的重载 方法重载时: 参数必须不同.参数个数不同或类型不同. 返回值可以相同,也可以不同. 重载的价值在于它允许通过使用一个

面向对象三大特性:封装,继承,多态(一,封装和继承)

封装.继承和多态是面向对象程序设计的三个核心特性. 封装是面向对象技术中的一个重要概念,是一种信息隐藏技术,它体现了面向对象程序设计的思想. 继承是面向对象程序设计方法的一个重要手段,通过继承可以更有效地组织程序结构,明确类间的关系,育雏利用已有的类来完成更复杂.更深入的程序开发. 多态允许以一种统一的风格处理已存在的变量和相关的类,多态性使得向系统增加功能变的容易. 一.封装 封装的含义是:类的设计者把类设计成一个黑匣子,使用者只能看见类中定义的公共变量和公共方法,而看不见方法的具体实现细节,

Java面向对象三大特性 封装 继承 多态

1.封装 封装的定义: 首先是抽象,把事物抽象成一个类,其次才是封装,将事物拥有的属性和动作隐藏起来,只保留特定的方法与外界联系 为什么需要封装: 封装符合面向对象设计原则的第一条:单一性原则,一个类把自己该做的事情封装起来,而不是暴露给其他类去处理,当内部的逻辑发生变化时,外部调用不用因此而修改,他们只调用开放的接口,而不用去关心内部的实现 举例: public class Human { private int age; private String name; public int get