欢迎来到天天文库
浏览记录
ID:21626085
大小:198.50 KB
页数:34页
时间:2018-10-20
《面向对象的编程技术 对象和属性等》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、C#程序设计语言课程内容第一章:概述第二章:C#语言的基本原理第三章:C#中对象的创建第四章:面向对象的编程技术第五章:C#编程第六章:编写基于.NET的应用程序第七章:使用ADO.NET访问数据第八章:创建基于Windows的应用程序第九章:在C#应用程序中使用XMLWebService第十章:创建Web应用程序十一章:应用程序设置和部署十二章:进阶学习目标4面向对象的编程技术内容:设计对象继承性多态性C#设计对象4.1学习完本节后,你将能够:在对象中封装信息使用属性管理对封装数据的访问封装性4.1.2将类的某些数据和操作这些数据的代码隐藏起来,这就是封装封装的好处:可以隐
2、藏类实现的细节简化用户的使用易于软件的更新、修订、维护。可以修改内部实现,但不影响用户的使用访问修饰符使用访问修饰符,可以定义应用程序中类成员的作用域(可见性)声明定义public不限制访问private只能从包含的类中访问internal从类型所在的assembly访问protected包含的类或继承的子类可以访问protectedinternal包含的类、继承的子类或类型所在assembly可以访问属性4.1.3属性是“聪明”的字段,“特殊”的方法定义属性类似于定义一个方法,但使用属性时如同使用一个字段classCat{publicstringname;publicint
3、age;}staticvoidMain(){Catcat1=newCat();cat1.age=-13;//错误}创建属性4.1.3语法:public
4、protected数据类型属性名{get{//get访问器,获取属性的代码}set{//set访问器,设置属性的代码}}创建属性4.1.3示例:publicclassCat{privateintage;publicintAge{get{returnage;}set{if(value<=0
5、
6、value>=20)……报告出错elseage=value;}}使用属性4.1.3示例:Catcat1=newCat();cat1.Age
7、=1;//使用Age属性的set访问器intn=Cat.Age;//使用Age属性的get访问器cat1.Age=100;//收到错误消息属性4.1.3如果只提供了get{},没有set{},这样的属性为只读属性如果只提供了set{},没有get{},只写属性优点:属性在使用时类似于类的字段,简单属性在实现时类似于方法,可以编写代码控制用户对数据的存、取,增加安全性检查可以设置只读或只写属性练习参见教材P101页4.1.4课堂练习10分钟编写和使用属性4.1.44面向对象的编程技术内容:设计对象继承性多态性C#继承性4.2定义基类创建派生类创建密封类继承4.2.1“A”isa
8、kindof“B”,猫是一只动物,阿土仔是一个人“A”isakindof“B”,说明B是A的一个父类,A是B的子类(基类/派生类)子类无条件的接收父类具有的特性,包括属性和方法,这就叫做继承继承允许把公共的属性和方法包含在基类中得到重用,此外,子类还可以添加自己的特性利用继承,可以以现有的类为基础,创建出新的类,实现了代码的重用继承4.2.1继承描述了“是什么种类”(isakindof)的关系派生类从基类继承属性和方法,实现了代码重用派生类变得更专门化在C#中只支持单一继承,即每个子类只能有一个父类父类子类动物大象猫派生类4.2.2示例:动物园需要管理3种动物,羚羊,狮子,大
9、象publicclassAntelope{publicboolIsSleeping;publicvoidSleep(){…}publicvoidEat(){…}}publicclassLion{publicboolIsSleeping;publicvoidSleep(){…}publicvoidEat(){…}publicvoidStalkPrey(){…}}publicclassElephant{publicboolIsSleeping;publicvoidSleep(){…}publicvoidEat(){…}publicintCarrayCapacity;}public
10、classAnimal{publicboolIsSleeping;publicvoidSleep(){…}publicvoidEat(){…}}publicclassAntelope:Animal{}publicclassLion:Animal{publicvoidStalkPrey(){…}}publicclassElephant:Animal{publicintCarrayCapacity;}派生类4.2.2示例:publicclassAnimal{protectedboolIsSleeping;p
此文档下载收益归作者所有