面向对象程序设计25848.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文档。上传文档
查看更多
面向对象程序设计25848.doc

第2章 面向对象程序设计 OOP即面向对象程序设计;Object__Oriented Programming 一、类与对象 传统程序设计方法是面向过程,而现在是采用面向对象,如:C就是采用结构化面向过程;其数据和处理数据的程序是分离的 C++是采用面向对象,是将数据和处理数据的函数封装到一个类中。而使用类数据变量则称为对象,在一个对象内,只有属于该对象的函数,才可以存取该对象的数据,其它函数是不能对它进行操作的,从而达到保护和隐藏的效果。 1、面向过程:(1)采用自顶向下(2)分解若干个模块(3)设计数据结构(4)设计过程或函数 2、新的程序设计范型:对象、类、继承、封装、消息等概念进行程序设计。 例如:1、用C编写的输出星号三角形程序 #include stdio.h DoDraw(int num) { for(int i=0;inum;i++) { for(int j=0;j=i;j++) printf(*); printf(\n); } } void main() { int num=5; DoDraw(num);//函数的调用 } 2、用C++编写的输出星号三角形程序 #include iostream.h class fun { public: DoDraw(int num); }; fun::DoDraw(int num) { for(int i=0;inum;i++) { for(int j=0;j=i;j++) cout*; cout\n; } } void main() { fun as; as.DoDraw(5);//函数的调用 } 类 Class 类是对一类客观对象的存在和行为进行抽象后的,以数据和代码共同封装为形式的描述。类是聚集类型,不是数据类型,因为它还可以定义一些能对象C语言中定义的成员数据类型和元素进行操作的函数。 A、类定义 1、面向对象过程 将数据及处理数据的相应函数“封装”到一个类中,而我们用类的对象进行 对数据的存取的过程叫面向对象过程。 2、什麽是类 类(class)是C++语言中,可由软件开发者定义的聚集类型,它不仅可以 定义一些成员数据的类型和元素,而却还可以定义一些能对这些数据进行操作 的函数,可以说,类(class)是对一类客观对象的存在和行为进行抽象后的, 以数据和代码共同封装为形式的描述。 3、类的定义 class Stack { private: int i; public: void push(int n); protected: char m; }; class是关键字,Stack是类的名字 类内有三种模式: (1)私有模式 private 可缺省,能够却只能被本类内定义的函数所访问,如果一个类的所有成分都 是私有模式,那麽这个类的封装就成了一个绝对的黑匣子,与外界不能传递消 息与信息 (2)公共模式 public 可以被本类以内及本类对象的外部世界所访问,外部世界是通过调用其中的 函数来向类的封装传递消息的。 (3)保护模式 protected 对有些成分,我们希望在无关的外部世界面前保持私有性质,但又希望由本 类派生出的派生类能继承这些成分,而无须重复定义,这就称为保护类型,或 说,保护私有,允许继承 4、定义类时要注意以下几点 a、有类内定义的函数,如上例中的:GetPos() 有类外定义的函数,如、、、、:StePlt(),SetPos(int nPos) 其效果是一样的,但在类外定义清晰一些。 b、::双冒号叫域分辨符,用来标明其右边的函数名,说明右边函数是CMeter类 的成员函数,在不同类中定义同名函数不至于混淆。 c、类中的数据成员的数据类型,可以是任意的,但不允许对定义的数据成员进 行初始化,如:class CMeter { ---- private: int m_nPos=10; 错误的 } d、在选择字下面都属于此选择字范围,除非下面出现选择字,如果都没写选择 字,则缺省为private e、选择字public private protected可在类中出现多次,并却前后顺序不限 f、protected与其它2个相似,但在类的继承时不同 g、一般都将类单独存放在一个文件中或将类的声明放在.h文件中,而将成员 函数的实现放在与.h文件同名的.cpp文件中,以后的Visual C++程序中都 是这样。 例:类和对

文档评论(0)

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

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

版权声明书
用户编号:5311233133000002

1亿VIP精品文档

相关文档