嘿嘿,举一个比较容易理解的例子。主人公:李启铭、李刚经典语录:我爸是李刚例子开始:从李启铭说的那句:我爸是李刚,是很有科学依据的,用程序设计的原理看,它符合继承和多态的面向对象编程的这2大特性。先说一说,继承,继承就是子类可以继承父类中的属性和方法。包括私有的属性和方法,只是由于私有的方法无法访问,所以相当于没有继承到,其实是包含在子类中的。public class 李刚{ private String 有钱; private String 有权; private String 飞扬跋扈; private String 装; ............. .....相应的get/set方法.... public void 爱喝酒(){ ....... } ............}以上就是李启铭老爸李刚的一些属性和方法。public class 李启铭 extends 李刚{ private String 二; public void 敢开车撞人(){ ......... }} 在李启铭中我们好像看不到李刚的影子,其实李刚的优良基因都被李启铭继承到了。如果你有IDE开发程序你就能看到这些方法是在李启铭中的。像有钱、有权、飞扬跋扈等等都被他儿子有拥有!但是青出于蓝而胜于蓝啊,李启铭还有他自己的一些特性,这些东西是李刚所不具有的,像二啊、敢开车撞人啊,他老爸是无论如何也干不出来的。 这也就是子类可以看做父类,但是也不完全相同,因为子类可能有父类不具有的属性和方法,也就是儿子可能干出父亲干不出来的事(也就是子类中特有的方法)。好了,继承也就差不多了,来看看多态吧。我们还是用这个例子。多态:就是父类引用可以持有子类对象,目的是为了更加通用的编程。还是上面那两个类:李启铭和李刚现在我们要把这两个东西实例化了。(挺可怕的!)先分别实例化: 李刚 aa = new 李刚();这样我们就可以用李刚的一些属性了。 李启铭 bb = new 李启铭();我们同样可以用李启铭中的一些方法了。但是,李启铭就是一个官二代,如果没有李刚就什么都不是了。所以在很多时候李启铭就是他老爸李刚的形象,见李启铭如见李刚。 李刚 cc = new 李启铭();嘿嘿,这也就当我们看到李启铭的时候,其实我们惧怕的不是李启铭这小瘪三,而是他的老爸李刚,所以我们其实就把李启铭当做了李刚。但是李启铭和李刚还是有区别的啊,李启铭比李刚二,敢撞人,这可是他老爸干部出来的。所以当我们这样的时候 李刚 cc = new 李启铭();这个cc对象只能调用父类(李刚)中的方法,因为我们把它看做了父类。如果我们想知道李启铭有多二,或是想看看他是怎么敢撞人的,我们就需要强制转换cc为 李启铭类。来访问那些方法。 来总结一下:继承,子类继承父类中所以的属性和方法,但是对于private的属相和方法,由于这个是父类的隐私,所以子类虽然是继承了,但是没有可以访问这些属性和方法的引用,所以相当于没有继承到。很多时候,可以理解为,没有继承。多态:就是父类引用可以持有子类对象。这时候只能调用父类中的方法,而子类中特有方法是无法访问的,因为这个时候(编译时)你把他看作父类对象的原因,但是到了运行的时候,编译器就会发现这个父类引用中原来是一个子类的对像,所以如果父类和子类中有相同的方法时,调用的会是子类中的方法,而不是父类的。可以这么说:编译时看父类,运行时看子类。
分享到:
相关推荐
在这个"继承与多态程序演示"中,我们将深入探讨这两个概念,以及如何在Microsoft Foundation Classes (MFC) 框架下实现它们。 首先,让我们了解什么是继承。继承是一种设计模式,允许一个类(子类或派生类)从另一...
【继承与多态】 继承是面向对象编程中的一个重要特性,允许一个类(子类)从另一个类(父类)继承属性和方法。这样,子类不仅具有父类的所有非私有属性和方法,还能添加自己的特性和功能。在Java中,继承使用`...
继承与多态 继承是面向对象编程(Object-Oriented Programming)中的一种机制,允许一个类继承另一个类的属性和行为。通过继承,子类可以重用父类的代码,减少代码的冗余和重复。同时,继承也可以实现多态性,即...
【C语言实现继承与多态】的探讨主要集中在如何在非面向对象的语言——C语言中,利用其特性模拟实现面向对象编程的关键概念:封装、继承和多态。 封装是面向对象设计的基础,它通过将数据和操作数据的函数捆绑在一起...
### Java继承与多态知识点详解 #### 一、引言 在面向对象编程语言中,继承和多态是非常重要的概念。它们提供了强大的机制来管理代码的复杂性,并且能够有效地复用现有代码。本文将详细介绍Java中的继承和多态概念...
### 第十一章 继承与多态 #### 1. 概述 在面向对象编程中,继承和多态是两个非常重要的概念。本章节主要介绍C++中的这两个概念及其应用。 #### 2. 基础概念 ##### 2.1 类与对象 面向对象编程的核心是类和对象的...
在C++编程语言中,继承和多态是面向对象编程(OOP)的两个核心概念。继承允许我们创建一个新类(子类),它继承了另一个类(父类)的属性和方法,从而实现了代码的重用和扩展。多态则是指同一种行为在不同对象上表现...
在"python全套课程继承与多态"这个主题中,我们将深入探讨Python中的面向对象编程(OOP)概念,尤其是继承与多态。面向对象编程是Python中一个核心的概念,它允许我们创建可重用的代码结构,使得软件开发更为高效。 ...
《西南科技大学Java程序设计与实践——实验三:类的继承与多态的应用》 本次实验主要目的是深化理解和应用Java中的类的继承与多态特性,同时结合图形用户界面设计进行实战训练。实验内容分为三个部分,旨在通过具体...
标题中的"CPP.rar_多态 .cpp_继承与多态_继承与多态C++"表明这个压缩包文件包含了关于C++编程语言中多态性(Polymorphism)和继承(Inheritance)的概念示例。多态性和继承是面向对象编程(Object-Oriented ...
Java 中继承与多态的题目 本资源摘要信息是关于 Java 中继承和多态的题目,涵盖了面向对象编程的基本概念和继承机制的应用。 继承的概念 继承是面向对象编程的一种机制,允许一个类(子类)继承另一个类(父类)...
JAVA 封装继承与多态 PPT 教案学习 JAVA 封装继承与多态是面向对象程序设计语言中三个重要的概念,本文将对这三个概念进行详细的解释。 一、封装 封装是指隐藏对象的内部细节,使对象外部不能随意存取对象的内部...
java 实验 继承与多态rectAngle 定义矩形类,用户输入矩形的长与宽,程序计算其面积和周长;派生子类正方形类,定义一个接口Printable源代码
【继承与多态】是面向对象编程中的核心概念,它们在Java等面向对象语言中扮演着重要的角色。在这个实验中,我们将深入理解这两个概念,并通过实际的动物园动物类的建模来实现它们。 继承是面向对象的一个关键特性,...
java封装 继承与多态 程序设计 类与对象
Java(继承与多态)
在第四章“继承与多态”中,我们深入探讨了这两个主题。 首先,继承允许一个类(子类)从另一个类(父类)继承特性,这样子类就可以重用父类的方法和属性,而无需重新编写。例如,在提供的内容中,`Employee`类被...
【实验四:类的继承与多态实验】 在面向对象编程中,继承是实现软件重用性的重要机制。实验的首要目标是理解继承的概念,它允许我们创建一个新的类(派生类),该类继承了已有类(基类)的属性和方法。这样,基类的...
C++是一种强大的面向对象编程语言,其核心特性之一就是继承与多态。这两个概念是OOP(面向对象编程)中的基石,为代码复用和设计灵活性提供了基础。 **继承(Inheritance)**是C++中类的一个关键特性,它允许一个类...