复习第三章多态

第三章  多态

本章需要掌握的东西

  1. 掌握多态的优势和应用场合

答:多态的优势可以减少代码量,更加清晰明了。,应用场合为,一个事物需要做多种事情的时候需要用到多态。

   2.掌握父类和子类之间的类型转换

答:父类引用转向子类为向上转型,自动类型转换。子类引用转向父类为向下类型转换,需要强制转换。

   3.掌握instanceof运算符的使用

答:这个不是很实用了解一下就OK,我了解的是 这个可以判断类型转换的东西。

   4.使用父类作为返回值实现多态

答:如果要返回多个子类的值,可以使用父类作为返回值,父类包括到子类需要返回的值的话。这样比较方便。

多态性与继承,方法重写有密切相关的关系。

子类转换成父类时的规则。

将一个父类的引用指向子类叫做向上转型。自动类型转换。

此时通过父类的引用变量调用的方法是子类的覆盖或是继承父类的方法,而不是父类的方法。

此时通过父类引用变量无法调用子类的特有的方法。

网上看到的:

里氏替换原则:

  在一个软件系统中,如果子类能替代父类出现的位置,而对整个软件的功能没有任何影响,那么就称为里氏替换原则

实现面向对象的多态性有哪几种方法?

总共有3种,

    第一种,虚方法实现多态,  第二种:抽象方法实现多态  第三种:接口实现多态

    目前为止,我们学了两种:

    第一种:虚方法实现多态

通过在普通类Person中用Virtual关键字定义虚方法SayHello(),然后在子类Student中通过override关键字对父类的SayHello()方法进行重写。

     第二种:抽象方法实现多态

通过在抽象类Birds中定义抽象方法Fly(),然后在子类【燕子】中对抽象方法Fly()进行重写实现多态,重写方式和虚方法一样,也是使用override关键字

原文地址:https://www.cnblogs.com/java-263/p/9757655.html

时间: 2024-10-11 18:26:11

复习第三章多态的相关文章

Java基础复习---第三章

第三章 面向对象 面向对象更加强调运用人类在日常的是为逻辑中采用的思想方法与原则 抽象.分类.继承.聚合.多态 面向对象与面向过程 ? 面向过程:强调的是功能行为 ? 面向过程:将功能封装进对象,强调具备了功能的对象 面向对象三大特征 ? 封装.继承.多态 OOP思想概述 类 :对现实世界事物的抽象定义 对象:类的实体(实例) ? ? ps. 类就像汽车设计图 对象就像实际的汽车 ? 类(class)和对象(object)是面向对象的核心概念.类是对现实世界事物的描述,类是抽象.概念上的定义.

数据结构期末复习第三章栈和队列

第三章:栈和队列 栈的特性:后进先出(LIFO) 1.  输入序列为ABC,可以变为CBA时,经过的栈操作为( B )A. push, pop, push, pop, push, popB. push, push, push, pop, pop, popC. push, push, pop, pop, push, popD. push, pop, push, push, pop, pop 解析: ABC经过push,push,push操作后,从栈顶到栈底元素为CBA,经过pop,pop,pop出

使用Java实现面向对象编程——第三章 多态

1.多态:(polymorphism): 是具有表现多种形态能力的特征: (专业化的说法:)同一个实现接口(引用类型),使用不同的实例而执行不同的操作 指一个引用(类型)在不同情况下的多种状态.也可以理解成:多态是指通过指向父类的指针,来调用在不同子类中实现的方法. 多态是同一个行为具有多个不同表现形式或形态的能力, 多态就是同一个接口,使用不同的实例而执行不同操作,多态性是对象多种表现形式的体现. 多态的优点: 1. 消除类型之间的耦合关系 2. 可替换性 3. 可扩充性 4. 接口性 5.

201671010105 2016-2017-2《Java程序设计》第三章学习心得

通过学习第三章,我的总结有以下几点: 先说内容,第三章我们主要学习的是java的基本程序设计结构,学习了与之相关的一些内容,注释,数据类型,变量,运算符,字符串,输入输出语句,数组等等,在这些内容中,有些是在C语言中同样可以学到的,我们上学期已经学过,但也有很多是与c不一样的,是首次接触,比如注释,无论是java还是c语言,对于编程者而言,给自己编写的程序注释是一种良好的习惯,不止自己看懂,别人也能看懂,又比如数据类型,java中多了byte(字节型)和boolean(布尔型).在后面内容中也有

2014年软考程序员-常考知识点复习笔记【第三章】

51CTO学院,在软考备考季特别整理了"2014年软考程序员-常考知识点复习笔记[汇总篇]",帮助各位学院顺利过关!更多软件水平考试辅导及试题,请关注51CTO学院-软考分类吧! 查看汇总:2014年软考程序员-常考知识点复习笔记[汇总篇]  2.线性表 (1) 性表的链式存储方式及以下几种常用链表的特点和运算:单链表.循环链表,双向链表,双向循环链表. (2)单链表的归并算法.循环链表的归并算法.双向链表及双向循环链表的插入和删除算法等都是较为常见的考查方式. (3)单链表中设置头指

JS复习:第三章&第四章

第三章 一.把一个值转换成字符串的两种方法: 1.使用每个值都有的toString( )方法.这个方法唯一要做的就是返回相应值的字符串表现.例如: var age = 11 ; var ageAsString = age.toString( ) ;       //字符串”11” var found = true ; var foundAsString = found.toString( ) ;    //字符串”true” 2.在不知道要转换的值是不是null或undefined的情况下,还可

CSS3秘笈复习:第一章&第二章&第三章

第一章: 1.<cite>标签不仅可以将网页设置为斜体,还能给标题做上标记,使它便于被搜索引擎搜索到. 第二章: 1.import指令链接样式表: CSS本身有一种添加外部样式的方法:@import指令.把这个指令添加到一个HTML的<style>标签中,像这样: <style> @import url(css/styles.css); </style> 要将所有@import行都放在CSS规则之前. 第三章: 1.类选择器命名只允许使用字母数字连字符(-)

jQuery复习:第二章&amp;第三章

第二章 一.选择器 1.层次选择器 $(“ancestor descendant”)选取ancestor元素里的所有后代元素 $(“parent > child”)选取parent元素下的child子元素. 2.表单选择器 $(“#form1 input”)选取form1下所有<input>元素 $(“form1 :input”)选取form1下所有<input>.<textarea>.<select>和<button>元素. 3.选择器中

哈工大 软件构造课程 考点复习总结(第三章)

数据类型 Primitive types 基本数据类型(8种) Object types 对象数据类型(reference types 引用数据类型) Short.int .long.float.double.boolean.char.byte 如:String.BigInteger 只有值,没有ID(无法与其他值区分),不能赋值为null: immutable 有值,也有ID: 部分mutable,部分immutable 在栈中分配内存,代价低 在堆中分配内存,代价高 静态类型检查&动态类型检