C 程序的设计 18 面向对象编程.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
C 程序的设计 18 面向对象编程

C 程序设计 18 面向对象编程 什么是面向对象编程 面向对象编程(Object-Oriented Programming)简称OOP技术,是开发计算机应用程序的一种新方法、新思想。过去的面向过程编程常常会导致所有的代码都包含在几个模块中,使程序难以阅读,难以维护。在做一些程序修改时常常牵一动百,使以后的开发和维护不易进行。 而OOP技术经常要使用许多代码模块,每个模块都只提供特定的功能,并且彼此独立,这样就增大了代码重用的几率,更加有利于软件的开发、维护和升级。模块化的设计结构经常可以简化任务。 在面向对象中,算法与数据结构被看做是一个整体,称作类,现实世界中任何类的对象都具有一定的属性和操作,也总能用数据结构与算法两者合一地来描述,所以程序可以被这样定义: 对象=(算法+数据结构) 程序=(对象+对象+…) 因此程序就是许多对象在计算机中相继表现自己,而对象则是一个个程序实体。 类是对象概念在面向对象编程语言中的反映,是相同对象的集合。类描述了一系列在概念上有相同含义的对象,为这些对象统一定义了编程语言上的属性和方法。 类是C#中功能最为强大的数据类型。类定义了数据类型的数据和行为。在C#中,类的声明格式如下: 类的属性集类的修饰符关键字class类名继承方式基类名 除class关键字和类名外,剩余的都是可选项。下面以汽车为例声明一个类,代码如下: public class Car public是类的修饰符,下面介绍几个常用的修饰符。 1new:仅允许在嵌套类声明时使用,表明类中隐藏了由基类中继承而来的、与基类中同名的成员。 2public:表示不限制对该类的访问。 3protected:表示只能从其所在类和所在类的子类进行访问。 4internal:只有其所在类才能访问。 5private:只有.NET中的应用程序或库才能访问。 6abstract:抽象类,不允许建立类的实例。 7sealed:密封类,不允许被继承。 对象 对象是类的实例,是OOP应用程序的一个组成部件。这个组成部件封装了部分应用程序,这部分应用程序可以是一个过程、一些数据或一些更抽象的实体。 对象包含变量成员和函数类型。它所包含的变量组成了存储在对象中的数据,其中包含的方法可以具有访问对象的功能。复杂的对象可以不包含任何数据,只包含方法,表示一个过程。 在C#中和.NET Framework中的所有类型都是对象。变量类型是一个类,变量也是一个对象。 用属性和字段可以访问对象中包含的数据。对象数据用来区分不同的对象,同一个类的不同对象可能在属性和字段中存储了不同的值。包含在对象中的不同数据统称为对象的状态。字段和属性都可以输入,通常把信息存储在字段和属性中。属性和字段是不同的,属性不能直接访问数据,字段可以直接访问数据。在属性中可以添加对数据访问的限制,如有一个int型属性,可以限制它只能存储1~5的数字,但如果用字段就可以存储任何int型的数值。 通常在访问状态时提供属性,而不是字段,因为属性可以更好地控制访问过程和读写权限。除此之外,属性的可访问性确定了什么代码可以访问这些成员,可以声明为公有、私有或者其他更为复杂的方式。 下面的代码实现了访问Car类的对象和对象数据状态: public class Car { publicint number; publicstring color; private string _brand; public Car() { } public string brand { get { return _brand; } set { _brand=value; } } } 下面代码在一个方法中实例化类对象并设置和访问数据状态: private void button2_Click(object sender,EventArgs e) { string pa; Car c=new Car(); c.brand=奔驰; c.color=黑色; pa=c.brand; } 构造函数和析构函数 构造函数和析构函数是类中比较特殊的两种成员函数,主要用来对对象进行初始化和回收对象资源。一般来说,对象的生命周期是从构造函数开始,以析构函数结束。如果一个类含有构造函数,在实例化该类的对象时就会调用构造函数;如果含有析构函数则会在销毁对象时调用它。构造函数的名字和类名相同。析构函数和构造函数的名字相同,但析构函数要在名字前加一个波浪号(~)。当推出含有该对象的成员时,析构函数将自动释放这个对象所占用的内存空间。 每个类都有构造函数,在访问一个类的方法、属性或任何其他东西之前,首先执行的语句应是与类相应的构造函数。即使没有声明它,编译器也会自动构造一系列的构造函数。构造函数不声明返回类型,而且一般都是public类型,如果是private

您可能关注的文档

文档评论(0)

3471161553 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档