面向对象技术与C7.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文档。上传文档
查看更多
面向对象技术与C7.doc

十.类的语言基础 类的声明 基本语法 类在编程书写时用一个“class”的保留字来表示,类的名称惯用 大写字母开头,C与C#语言的定义格式是: class笑名{成员名字定义表}; C++语言对己定义的类的引用声明格式是: class已定义的类名; C++与C#语言的对象定义格式是: 已定义的类名对象名表; 例h class A{...}; class B;//仅适用于C++语言 A a,b; class的内部语法结构 根据对象的抽象结构和对外所呈现的访问权限的定义,C+4?语言 将class的内部分成了三个区域: public: 成员声明表区 private: 成员声明表区 protected: 成员声明表区 ? C#语言的class内的成员依靠附加类型的说明得到如同C++语言的 三个声明区的访问权限。它们分别是:public、private和protected。 class内的成员分为成员数据和成员函数两个部分,可以出现在上述 三个声明表区中的任何一个; 例2: C++语目 C#语言 class A class A { { private: private int i; inti; public void init(int x){i=x;} public: static void Main(){} int init(int); public区域对应于对象模型的方法部分,但并不只放成员函数; private区域对位于对象模型的属性部分,除本类对象以外的其它对 象与过程都不能直接访问(如下图所示); ? protected区与派也有关,以后再议; ?在一个class的内部可以选择使用上述三个区域的划分,但private 是缺省的。 例3: class A inti; public: int init(int); }; ?编写吾言的class内部的成员吋推荐只写声明,成员函数的代 码定义可通过作用域符号(::)置于class之外,以使class更为好读。 在C#语言中声明与定义是一体化,也就无法将成员的声明与定义分 离了; 例4: class A { inti; public: void init(int); }; int A::init(int x){i=x;} ? C++和c#语言中的消息格式与c语言中对结构实例的引用非常相 似; 例5: 例5: C++语言 #includeiostream using namespace std; class A { private: int i; public: int init(int); }; int A::init(int x){return i=x;} void main() C#语言 using System; class A { int i; public void init(int x){i=x;} public int get(){return i;} static void Main() { Aa=new A();//对象引用 a.init(O); Console.Write(a.get()); A a; cout?a.init(0); } C#语言除丫 public、private和protected的概念与C++语言的同名 分区保留字基本相同以外(C#语言的public还允许其它工程访问), 还另外定义了专门用于确定自身访问目的新保留字internal。该保留 字作为成员数据的附加类别示意编译器只允许本工程或指定工程内 的对象访问该成员数据。 类中成员数据的初始化 ①构造函数(Constructorfunction)与析构函数(Deconstructor ①构造函数(Constructor function) 在对象生成的同时被用来为对象动态地开辟内存空间并对对象 的成员数据进行初始化的专用函数称为构造函数。在对象撤消的同时 被用来释放对象初始时的内存空间的专用函数称为析构函数。 ?构造函数名与类名相同且不得使用任何返回值类型声明; ?无任何参数的构造函数又称为缺省构造函数; ?构造函数不显性的写出时会巾编译器强制插入一个缺省构造函数; ?每当构造函数被执行一次便会生成一个对象; ?隐式声明的缺省构造函数是公开的内联函数(仅适用于C++语言); ?当一个类中含存多个秉载的构造函数时,对象定义的格式将是对其 引用的区别标志; 例 例6: class Aint i; public:A(){i=O;} A(int x){i=x;} class A int i; public: A(){i=O;} A(int x){i=x;} }; void main() {Aa,b(0);} int i; A(){i:0;} A(int x){i=x;} static void M

文档评论(0)

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

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

1亿VIP精品文档

相关文档