- 1、本文档共28页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第4章 面对象
第4章 面向对象
到目前止,主要学习了C# 2008的基本语法:如何声明变量,如何控制流程等。C# 2008是一个完全面向对象的语言,要写出语法正确、设计合理的好代码,必须掌握面向对象的特性。从本章开始,我们将迈进面向对象的大门,即面向对象的思想将取代面向过程的思想。
凯陀闯班嚼钉匡麦采戏壳眺碟隧镍促倡尝贪儒隋磊瘫券坠须撂包李腊拇度第4章 面对象第4章 面对象
4.1 类
C# 2008秉承了C++面向对象的所有关键概念:封装、继承和多态性。其类型模型是建立在.NET虚拟对象系统之上的。类是面向对象的程序设计的基本构成模块。从定义上讲,类是一种数据结构,这种数据结构可以包含数据成员、函数成员等类型。其中数据成员类型有常量和事件;函数成员类型有方法、属性和索引器等。
拐蘸褪遏薛妻蔼耕揭卸淳钝传润问竿讫刊沽涝带帜月志仁瑶岿鉴揽盾鸭的第4章 面对象第4章 面对象
4.1.1 面向对象的概念
随着计算机的应用越来越广泛,社会对软件开发提出了更高的要求。然而软件技术的进步却远远落后于硬件技术的进步,人们常常无法控制软件开发的周期和成本,软件质量总是无法让人满意,即所谓的软件危机。
为了摆脱软件危机,必须按照工程化的原则和方法来组织软件开发工作。在涉及大量计算的问题上,面向过程的设计方法暴露了越来越多的不足。例如:
功能与数据分离,不符合对现实世界的认识。
基于模块的设计方式,导致软件修改困难。
自顶向下的设计方法,限制了软件的可重用性,降低了开发效率,也导致最后开发出来的系统难以维护。
雪尝胎妄春幢疥替祷壕鹊驰仕析堕添凶彭胡侵甜耀挟芹壬谜膘污姿胶活辛第4章 面对象第4章 面对象
4.1.2 定义一个类
类是C#中的两种基本封装结构之一(另一个是结构)。每个可执行语句必须放在类或结构中。简单的说,类是一种抽象的数据类型,但是抽象的程度可能不同。而对象就是一个类的实例。即类是对象的蓝图。
1.定义类
创建一个用户定义的类非常简单。的声明格式如下:
attributes class-modifiers class identifier class-base
{
data members //数据成员
function //函数
nested types //嵌套类型
}
2.类的修饰符
类的修饰符可以是以下几种之一或者是它们的组合在类的声明中同一修饰符不允许出现多次。类的修饰符有abstract、internal、new、private、protected、public或sealed关键字。其中internal、private、protected和public关键字定义了对类的访问。在类中声明的类只能有public和internal访问属性。嵌套类可以具有以上4种访问类型中的一种,还可以有protected internal访问类型,它等效于“受保护的或内部的”访问。其他关键字涉及成员隐藏和类是否能够被实例化或继承。
平捐辊贸蒜辱君弦噎肩化晓婿央瓤呼币叛晤俱栈依浮骸薯腊脓财哪樟册敲第4章 面对象第4章 面对象
4.1.3 类成员的修饰符
类的成员可以分为两大类:类本身所声明的,以及从基类中继承而来的。在编写程序时,可以对类的成员使用不同的访问修饰符从而定义它们的访问级别。类的成员有以下类型,如表所示。
冷惋粱违钨稀皇响身措元钧庐啄遥晒讼晕荷婆猜励氦川钱谈请量鹃炯幻跺第4章 面对象第4章 面对象
4.1.4 类的构造函数
【本节示例参考:\示例代码\Chap04\UseRectangular】
构造函数用于执行类的实例的初始化。每个类都有构造函数,即使我们没有声明它,编译器也会自动地为我们提供一个默认的构造函数。在访问一个类的时候,系统将最先执行构造函数中的语句。实际上,任何构造函数的执行都隐式地调用了系统提供默认的构造函数base()。
1.构造函数的概念
2.构造函数的访问类型
钟检啪糯逛椭松松摈绣侥缩必聪埠粹粪皱徒藕刃榜搀萨厨耗扑控仪矽罚迭第4章 面对象第4章 面对象
4.1.5 类的析构函数
【本节示例参考:\示例代码\Chap04\Destructor】
在类的实例超出范围时,要确保其所占的存储能被回收,于是就出现了析构函数。在C++中,其是用来释放内存并执行清除操作的。C#使用一个垃圾收集器来自动完成大部分的类似工作。析构函数定义方式如下:
class Myclass
{
~ Myclass()
文档评论(0)