- 1、本文档共24页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
技能竞赛-物联网应用技术-
实验室的路灯控制;page2;案例描述;案例结果;案例准备;继承的概念;每个派生类也可以成为新派生类的基类,比如学生类是人的派生类,同时小学生、大学生的基类。人是学生的直接基类,是小学生、大学生的间接基类。
继承(Inheritance)是面向对象的一个重要特性,是软件重用的一种形式;这种形式的采用,可以在在原有类的基础上基础上增加新的功能,从而创派生出新的类。软件重用鼓励人们重用久经考验和调试的高质量软件,不但节省开发时间,而且提高软件质量。;C#中基类如何派生出新的类呢?首先创建一个“人”类(Person),然后由它派生出“学生”类(Student),再后再由“学生”类派生“大学生”类(Undergraduate)
【例7.1】在本章“Csharp_7”解决方案中,添加一个“Csharp_7_继承应用”WPF应用程序项目,并参照图7-6设计好界面布局文件“MainWindow.xaml”。为执行按钮添加示例代码,验证下面的示例功能。
7-6布局文件“MainWindow.xaml”界面;classPerson
{
privatestringname;//姓名
privateintage;//年龄
privatestringcolor;//肤色
privatedoubleweight;//体重
///summary说话/summary
///paramname=language语言/param
publicvoidSpeak(stringlanguage)
{
Console.WriteLine(讲“{0}”,language);
};基类和派生类;例子来看看Student具有哪些成员。
//执行命令按钮
privatevoidbtnRun_Click(objectsender,RoutedEventArgse)
{
do_BaseCreateDerived();//由基类创建派生类
}
//由基类创建派生类
voiddo_BaseCreateDerived()
{
Studentst=newStudent();
(详细代码参考课本242)
;派生类Student可以继承基类Person的成员,但出于封装性的考虑,基类的私有成员不能在派生类中使用,即对私有成员实行隐式继承。;这表明在派生类中不能使用基类的私有成员。此时,可以将私有变量bodyTemperature改为公有变量,但这样做会使它丧失封装性。如果想让类的成员既保持封装性又可以在派生类中使用,那么可以把它定义为protected成员(受保护成员)。;除此之外,还可以将私有变量设计一个公有的属性,通过属性使用私有变量。classPerson
{
privatestringname;//姓名
privateintage=20;//年龄
//公有属性:Age
publicintAge
{
get{returnage;}
set
{
if(value1);把Person类中的变量color、weight都添加公有属性,然后由Person类派生Undergraduate类。;“人”类是比较抽象的概念,在工人类中是说“本地话”,而学生是说“普通话”。遇到这种情况,可以把基类中的函数设计为虚函数,然后在派生类中重写(Override)该函数。在基类中,用关键字virtual声明虚函数。;在派生类中,用关键用override重写基类的虚函数。;分別创建三种类的对象,看看它们调用Speak()函数的结果。;分別创建三种类的对象,看看它们调用Speak()函数的结果。;普通函数的隐藏;普通函数的隐藏;base关键字;base关键字;谢谢!
文档评论(0)