- 1、本文档共6页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
抽象类和抽象方法学习指导书
一:学习目标
知识点 知识点重要性 掌握程度 知识点关联 抽象类和抽象方法
抽象类
抽象方法
抽象方法和虚方法的对比
抽象类和抽象方法的应用 极高 熟练 要学习好抽象类和抽象方法必须能熟练运用类和方法的相关知识,在学习抽象类和抽象方法过程中要不断对比其与我们以前学习的类和方法有哪些不同点,只有掌握了这些区别和联系才能更加深刻地理解和使用抽象类和抽象方法,要熟练运用抽象类和抽象方法来实现多态,在以后学习的设计模式中的抽象工厂和简单工厂等模式中也会用到抽象类和抽象方法。 设计模式
1、设计模式概述
2、设计模式分类
3、简单工厂模式 一般 理解 设计模式是一种软件开发经验的总结,是某些特定问题经过实践检验的特定的解决办法,它使代码真正工程化,是软件工程的基石。掌握了设计模式的基本概念和分类对程序的架构有很大帮助。设计模式中的一些原则和适用场合等会在设计模式专题中讲解,因此在这里掌握了其概念,分类和简单工厂模式后对以后学习设计模式及运用设计模式开发项目都有极大的帮助。另外,简单工厂中会用到静态方法,因此要熟练使用静态关键字。
二:重难点知识点
重难点1:抽象类和抽象方法
学习方法:
1、要熟练使用抽象类、抽象方法语法,具体如下:
语法:描述定义类和方法的规则
抽象类:
[修饰符] abstract class 类名
{
[字段声明]
[属性声明]
[方法声明]
}
抽象方法:
[修饰符] abstract 返回类型 类方法名([参数列表]);
掌握子类如何继承抽象类
需求:有一个父类Person,它有一个抽象方法,现要用一个子类Student继承这个抽象父类,具体代码如下:
父类:要用abstract关键字修饰对应的类和方法
public abstract class Person
{
pblic abstract void sayHi();
}
子类:继承抽象类,并重写基类中的抽象方法。注意要用override关键字修饰重写的方法
public class Student:Person
{
public override void sayHi()
{
Console.writeLine(“Hello,我是子类”);
}
}
2、对比虚方法来学习抽象方法,具体如下:
相同点:
都可以实现多态。
不同点:
1)虚方法用virtual来修饰,而抽象方法用abstract来修饰。
2)虚方法必须要有方法体,哪怕是一个分号,而抽象方法不能有方法体。
3)如果虚方法所在的类派生了子类,可以被子类重写,也可不被重写,而抽象类的非抽象子类必须重写其方法。
4)除了密封类外都可以包含虚方法,抽象方法只能在抽象类中。
3、总结抽象类和抽象方法的特点和适用的场合
(1)抽象方法不能有方法体。
(2)抽象方法所在的类必须是定义为抽象类。
(3)当一个非抽象类继承自抽象类时,这个子类必须实现父类中的抽象方法。
(4)静态成员上不能使用abstract关键字修饰。
4、在学习抽象类和抽象方法时需要注意以下几点:
(1)必须要有对应的关键字:abstract和override
需求1:教师和学生都有跟人打招呼的方法,但跟人打招呼的内容却不相同,现要求使用多态实现教师和学生打招呼并打印出相关内容。
思路:
第一步:抽象出父类Person,并定义一个抽象方法。
第二步:抽象出两个子类Student和Teacher继承于抽象类Person,并重写父类中的抽象方法。
第三步:使用抽象类对象作为参数,实现多态。
具体代码如下:
// 父类:为抽象类
public abstract class Person
{
//要用关键字abstract
public abstract void sayHi();
}
//子类1:
public class Student:Person
{
//要用关键字override
public override void sayHi()
{
Console.writeLine(“Hello,我是学生”);
}
}
子类2:
public class Teacher:Person
{
//要用关键字override
public override void sayHi()
{
Console.writeLine(“Hello,我是教师”);
}
}
使用:运用多态性质实现输出教师和学生各自打招呼的内容。下面在测试类Test中定义一个方法,用于输出内容。关键代码如下:
public void sayHello(Person p)//方法的参数为父类类型
{
p.sayHi();//根据p的具
您可能关注的文档
最近下载
- 无人驾驶车辆轨迹规划技术研究与应用 .pdf VIP
- 2025广东清远市英德市市区学校选调教师117人笔试备考题库及答案解析.docx
- 2025广东清远市英德市市区学校选调教师117人笔试备考试题及答案解析.docx
- 南芯产品规格书SC8886.pdf
- 2024-2025学年初中道德与法治七年级全一册中华民族大团结(同步训练)试题合集.docx VIP
- 2024-2025学年初中道德与法治七年级全一册中华民族大团结(单元测试)试题合集.docx VIP
- 全国建筑设计劳动(工日)定额(2015年度版).pdf
- 2024-2025学年初中道德与法治初中中华民族大团结教学设计合集.docx
- 第五节 中国的河流和湖泊.ppt
- 蔡康永论说话之道(完整版).doc
文档评论(0)