- 1、本文档共23页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第5章_2-域和属性.ppt
类 -域和属性 继承 理解域 理解属性 静态类 静态属性 静态方法 1 域 定义:域(Field)又称为成员变量 含义:数据、静态特征 Java中称为属性。 问:为什么C#中不把它称为属性呢? 1 域 语法格式: private string name; private int a,b; 1 域 注意: 书写的位置—直接在类class中,不在某些方法中。在方法中的是局部变量。 类中的普通方法可以访问它。 初始化 直接赋初值 错误用法 构造方法 2 类成员的访问限制 public:外部对类的数据成员可以访问,很方便,但会有潜在的危险。 问:会有什么危险? private:数据成员为类所私有,安全了。 2 类成员的访问限制 2 类成员的访问限制 规则: 命名空间总是默认的public 类总是默认的private 类成员默认为private 对于一个类成员只能使用一个访问修饰符。private internal尽管是两个单词,但它是单个访问修饰符。 成员的作用域永远不超出包含它的类。 2 类成员的访问限制 推荐做法: 当使用某类时,类成员的可访问性决定了用户所能访问的类成员。如果把一个类的某个成员定义为private,那么该类的使用者就看不到或使用那个成员 应该只把那些要让类使用者看到的元素定义为public。减少public成员数量可以减少类的复杂性(从使用者角度看),而且使类的创建者便于对类进行维护,同时也便于为其提供文档。 3 属性 问:数据成员为类所私有(private),外界怎么访问这些数据呢? 使用方法存取字段 当前述MyTime类的字段hour, minute, second的访问属性使用private后,使用者便无法访问它们,也就是说,无法直接了解当前时间的小时数。 可以通过在MyTime类中增加一个GetHour( )方法来实现。 使用方法存取字段 如果还需要单独设置当前时间的小时数,可以再增加一个SetHour( )方法。 使用方法存取字段 优点:很多很多。。。 缺点: 这样的设计对于使用者来说,不方便了。因为他要分别记住2个方法,哪个方法是设置值的,哪个方法是获取值的。 有没有一种途径,它可以让使用者像使用公共的字段一样方便,又能让设计者能够进行安全地检查? 3 属性 我们可以使用属性来解决这个问题。 属性,从外部(类的使用者)来看,类似于类的字段。从内部(类的作者)来看,类似于类的方法。 3 使用属性 如果只提供 get访问器, 那么这个属性是只读的。 如果只提供 set访问器,那么这个属性是只写的。 建议: 将所有字段都定义为private。 如果字段需要公开,请使用属性将其公开。 3 使用属性 命名规范: 域:首字母小写,name 属性:与域同名,首字母大写,Name 方法:首字母大写,Eat( Fruit f ) 练习 编写一个学生类,有学号、姓名、出生日期,要求输入的内容必须满足: 1)学号长度必须为12位 2)年龄必须介于18-30岁之间 使用属性完成 静态类 静态类只用于包含静态成员的类,它不能实例化,静态类的特性是防止继承,防止外部来创建对象。 static class MyUtility { public int data; //错误 protected int data; //错误 static string sr; } 静态类 静态类的几个注意点: 1.静态类不能有构造函数 2.静态类不能有任何实例成员。 3.静态类的成员不能有protected或protected internal访问保护修饰符。 静态类不能使用abstract或sealed修饰符。 静态类不能指定任何接口实现。 静态变量和非静态变量 数据成员包括:静态变量和非静态变量两种 静态变量:带有static 修饰符的变量称为静态变量。 非静态变量:不带有static修饰符声明的变量称为非静态变量,又叫实例变量。 类中的成员变量要么是静态,要么是非静态的。 静态成员变量是属于类所有的,非静态成员则属于类的实例——对象。 静态方法 静态方法: C#的类中可以包含两种方法:静态方法和非静态方法。 静态方法是一种 特殊的成员方法,它不属于类的某一个具体的实例,而是属于类本身。所以对静态方法不需要首先创建一个类的实例,而是采用类名.静态方法的格式 。 静态变量和非静态变量 静态类成员的调用 类名.成员字段 类名.成员方法([参数列表]) 非静态类成员的调用 类名 对象名 = new 构造函数名([参数列表]) 对象名.成员字段名 对象名.成员方法([参数列表]) 静态方法示例
您可能关注的文档
- 人教版物理(必修1)第二章 第三节 x_trelationship.ppt
- 彩色的中国635144914358125000.ppt
- Unit One AC Electronics - Helderberg Hilltowns Association 单元的一个交流电子-海德贝格hilltowns协会.ppt
- Factors That Influence Growth and Development影响生长发育的因素.ppt
- 第4章质量保证【质量精品】.ppt
- 会计学第二章___会计核算方法.ppt
- 北京炎黄时代广告有限公司 商业计划书 2005 年版【企业广告传媒】.ppt
- 云南省2012年新课标高考备考复习研讨会:生物《DNA是主要的遗传物质》课件.ppt
- 2012年《随堂优化训练》语文 广东教育版 必修五 第三单元 戏 剧 10 哈姆莱特节选 精品课件.ppt
- 2012届高三地理复习课件(安徽用)必修2第6章第1节__人地关系思想的演变.ppt
- 2024化工技能鉴定题库附答案详解.docx
- 2024化工技能鉴定题库附参考答案详解(基础题).docx
- 2024化工技能鉴定题库附参考答案详解(名师推荐).docx
- 2024化工技能鉴定题库附参考答案详解(研优卷).docx
- 2025年宠物医疗行业跨境专家会诊平台跨文化沟通挑战与对策.docx
- 2024化工技能鉴定题库附参考答案详解【综合题】.docx
- 2024化工技能鉴定题库附参考答案详解【A卷】.docx
- 2025年宠物医疗行业跨境专家会诊平台运营策略分析报告.docx
- 2025年宠物医疗行业跨境健康大数据分析平台在宠物健康产业政策倡导中的应用.docx
- 2024化工技能鉴定题库试题(模拟题)附答案详解.docx
文档评论(0)