计算机软件开发技术-类的总结(3月7日).pptVIP

计算机软件开发技术-类的总结(3月7日).ppt

  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文档。上传文档
查看更多
计算机软件开发技术-类的总结(3月7日)

* * 有关类的说明: 1、类中的两类成员: 属性(数据成员):代表该类特征的数据。 方法(成员函数):对属性进行的操作。 根据解决问题的实际需要抽象出所需的属性和方法。 如,解决的问题是“已知一个圆的半径,求其面积和周长”这样的简单问题,则根据问题抽象出如下的属性和方法。 属性:代表圆的特征的数据为该圆的半径r。 方法:构造方法、求面积、求周长 又如,讨论的问题扩展到“绘图用的圆类”,则该圆类的属性中还应加入: x:圆心的横坐标。 y:圆心的纵坐标。 更进一步,假设一个圆类要被一个圆柱体类继承,则圆类方法中还应加入: getX:获取圆心横坐标值。 getY:获取圆心纵坐标值。 getR:获取圆半径。 以上方法使得派生类中可以访问圆类中的私有属性。 总之: 在为解决一个具体问题而设计一个类时,并不要求面面俱到,而是根据解决实际问题的具体需要抽象出最基本的属性和方法。 2、成员访问权限: 属性: 常用private声明,只能被自身类的方法访问,以保护数据不被外界随意更改。 同一数据类型的不同属性可在同一个private下声明。 方法: 常用public声明,可被外界访问,以达到与外界交互的目的 每个方法前必须要一一用访问权限修饰符来修饰。 省略访问权限时,默认为private权限。 3、构造方法 作用: 用外部数据初始化属性(数据成员) 特点: 实例化对象(使用new生成对象)时系统自动调用。 需为不同的生成对象的语句提供不同的构造方法,故常常重载。 该方法无返回值类型,函数名同类名。 class Circle { double r; public Circle(double r)//构造方法 { this.r = r?; } public double getArea() { return 3.14 * r * r?; } public double getGirth() { return 2*3.14 * r ; } } 以下设计一个具有求圆的面积和周长功能圆类。 public Circle(double r1)//构造方法 { r = r1?; } 构造方法也可以采用以下形式: 说明: 从形式上看,不采用this关键字的构造方法更易理解,即将形式参数和属性用不同的变量名区分。 C#中的习惯是代表同一功能的变量用同一名字表示,则为了区分是外部数据还是内部属性,在属性名前加一个this关键字。 4、对象的声明和实例化 声明:(只定义,还未生成具体对象) 实例化:(调用构造方法,创建具体对象) 类名 对象名; 对象名 = new 类名(实参表); 或: 类名 对象名=new 类名(实参表); 类相当于数据类型,对象相当于这种类型的变量; 对象可以做参数。 类方法中还可以定义类对象为内部变量。 class Sample { double re, im; public Sample() { } public Sample(double re, double im) { this.re = re; this.im = im; } public void getProduct(Sample s1, Sample s2) { this.re = s1.re * s2.re - s1.im * s2.im; this.im = s1.re * s2.im + s2.re * s1.im; } } 以下设计一个具有实现两个复数相乘运算功能的复数类。 两个对象做参数,代表两个复数乘数 this是代表乘积的那个复数,外部调用getProduct方法时,是作用在该对象上的。事实上,此处的this也可省略。 重载构造方法 说明: 为什么上述类中定义两个重载的构造方法? 在实现复数类功能时,需定义如下对象: Sample s1,s2,s //s1、s2代表两个乘数,s代表乘积 实例化对象: s1=new Sample(re,im); //需调用有参的构造方法 s2=new Sample(re,im); //需调用有参的构造方法 s=new Sample; //需调用无参的构造方法 作为乘数的复数是已知的,而作为乘积的复数是求得的,所以乘积复数需调用无参的构造方法来创建。 5、界面窗体事件中实现与类的交互 C#中,无独立的函数,只有类。 界面是程序功能的图形化表达,是前台。 类是程序功能的逻辑实现,是后台。 根据界面表现出的功能设计类的方法。

文档评论(0)

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

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

1亿VIP精品文档

相关文档