- 1
- 0
- 约1.05万字
- 约 58页
- 2020-12-26 发布于浙江
- 举报
C#中的继承、多态、接口
回顾
类是 C# 中的一种结构,用于在程序中模拟现实生活的对象
成员变量表示对象的特征
方法表示对象可执行的操作
如果类中未定义构造函数,则由运行库提供默认构造函数
析构函数不能重载,并且每个类只能有一个析构函数
可以根据不同数量的参数或不同数据类型参数对方法进行重载,不能根据返回值进行方法重载
命名空间用来界定类所属的范围,类似于Java中的包
本章目标
面向对象的三大特性
隐藏内部实现,稳定外部接口
继承
子类继承父类成员,实现代码复用
多态
不同子类对同一个消息作出不同的反映
封装
代码冗余
对比这两个类:Student 和 Teacher
加入校长、班主任的类,都需要加入这几个属性,代码冗余
年龄、性别、姓名是重复的
如何共用重复代码?
提取冗余代码
将公共的成员放到一个类中
保留自己特有的成员
保留自己特有的成员
提取后的应用
class Student:Person
{
public Student(){ }
//爱好
private string hobby;
public string Hobby
{
get { return hobby; }
set { hobby = value; }
}
…
}
1、提取后的Student类
只有学员特有的属性
2、创建一个学员对象
Student zhang = new Student();
zhang.Name = 张靓靓;
zhang.Age = 20;
zhang.Gender = Genders.Female;
zhang.Hobby = 唱歌歌;
公共属性可以访问
继承
演示示例1:简单的继承
卡车和巴士都是汽车
生活中的继承
汽车
他们共有的特征来自汽车
有什么共同特征呢?
卡车
公共汽车
父类和子类
在C#中,一个类可以继承另一个类
Person
子类继承父类,父类派生子类
学员和老师类都继承Person
Student
Teacher
子类
父类
Student类继承Person类
Person类派生Student类
子类又叫派生类
父类又叫基类
class Student:Person
继承概述
继承需要符合的关系:is-a
Student is a Person
子类继承父类的成员
子类可以有自己的成员
继承父类的成员
自己特有的成员
继承是面向对象的一个重要特性
继承在类图中的表示
继承的实际应用1
班上所有的人都做自我介绍SayHi()
学员
大家好,我是某某同学,今年多少岁,喜欢什么
老师
大家好,我是某某老师,今年多少岁,工作几年了
子类中访问继承父类的公共属性
子类特有属性
继承的实际应用2
公共属性加入父类
有独自的SayHi()
继承的实际应用3
Teacher和Student类都继承Person
public class Student:Person
public class Teacher:Person
public Student(string name, Genders gender,
int age, string hobby, int popularity)
{
this.Name = name;
this.Age = age;
this.Gender = gender;
//学生类扩展的属性
this.Hobby = hobby;
this.Popularity = popularity;
}
构造函数设置公共属性与独有属性
继承自父类的公共属性
子类扩展的属性
继承的实际应用4
都有不同的SayHi()方法
public void SayHi()
{
//学生的SayHi
}
public void SayHi()
{
//老师的SayHi
}
创建对象调用SayHi()
Student zhang = new Student(…);
Teacher jacky = new Teacher(…);
zhang.SayHi();
jacky.SayHi();
学生调用自己的SayHi()
老师调用自己的SayHi()
演示示例2:MySchool
base关键字
关键字base的作用
调用父类的属性和方法
调用父类的构造函数
public void SayHi()
{
string message = string.Format(
大家好,我是{0} 同学,今年{1} 岁了,我喜欢{2}!,
ba
您可能关注的文档
- the_future_of_the__english(_英语_高中教育_教育专区.ppt
- THE_HISTORY_OF_AVIATION 航空航天发展史.ppt
- The_Lord_of_the_Rings_指环王_电影介绍_英语课件.ppt
- The-Adventures-of-Tom-Sawyer-汤姆索亚历险记.ppt
- TheIcebergConceptofCulture文化的冰山概念.pdf
- There be 句型特殊疑问句(三).ppt
- there be 句型专题复习.ppt
- There be句型及用法课件演示.ppt
- There be句型专题复习修订.ppt
- ThingJS-CampusBuilder 助力地铁系统可视化智慧升级.pdf
- 安徽省华师联盟2025-2026学年高三上学期1月质量检测生物试卷+答案.doc
- 安徽省华师联盟2025-2026学年高三上学期1月质量检测语文试卷+答案.doc
- 四川省绵阳南山中学实验学校2025-2026学年高三上学期1月月考数学含答案.doc
- 2026届辽宁省大连市高三上学期双基考试物理试卷+答案.doc
- 辽宁名校联盟2026年1月高三上期末联考质量检测化学含答案.doc
- 辽宁名校联盟2026年1月高三上期末联考质量检测生物含答案.doc
- 辽宁名校联盟2026年1月高三上期末联考质量检测英语含答案.doc
- 辽宁名校联盟2026年1月高三上期末联考质量检测政治含答案.doc
- 黑龙江省龙江教育联盟2026年1月高三上学期期末考试化学含答案.doc
- 黑龙江省龙江教育联盟2026年1月高三上学期期末考试生物含答案.doc
最近下载
- 2025年中考语文总复习第二部分文学之约专题五文学类文本读写(一题一课).pptx VIP
- 病历书写规范培训ppt课件.pptx VIP
- Dell戴尔Alienware 双模无线游戏耳机 AW720H 用户指南.pdf VIP
- 中国重症肌无力诊断和治疗指南PPT课件.pptx VIP
- 六年级英语阅读理解专项训练20篇.doc VIP
- 学堂在线 雨课堂 学堂云 中国共产党与中华民族伟大复兴 期末考试答案.docx VIP
- 学堂在线 雨课堂 学堂云 中国共产党与中华民族伟大复兴 章节测试答案.docx VIP
- 学堂在线 雨课堂 学堂云 人工智能原理 章节测试答案.docx VIP
- 《病历书写基本规范》PPT课件.pptx VIP
- 学堂在线 雨课堂 学堂云 研究生学术与职业素养讲座 章节测试答案.docx VIP
原创力文档

文档评论(0)