- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第四讲 属性与方法
类继承中,基类中的成员可以是虚拟的,虚拟成员可以由继承它的类重写,即在派生类中可以提供成员的其它执行代码。基类还可以定义为抽象类,抽象类不能被直接实例化,可以使用抽象类派生子类,再对子类进行实例化。 举例: class MyClass1 { private int x=0; private int y=0; public int X { 9 结构和类 get{return x;} set{x=value;} } public int Y { get{return y;} set(y=value;} } } 9 结构和类 public int Add1() { return X+Y; } } class MyClass2:MyClass1 { private int z=0; public int Z { 9 结构和类 get {return z;} set {z=value;} } public int Add2() { return X+Y+Z; } //使用类 MyClass1 myclass1=new MyClass1(); MyClass2 myclass2=new MyClass2(); 9 结构和类 myclass1.X=3; myclass1.Y=5; myclass2.X=3; myclass2.Y=5; myclass2.Z=7; messagebox.show(myclass1.Add1().ToString()); messagebox.show(myclass2.Add1().ToString()); messagebox.show(myclass2.Add2().ToString()); 9 结构和类 * * 8.1 属性的基本概念 属性主要用于操控类的私有成员。大家知道,类的私有成员只能在类的内部访问,这是类的封装性所确定的。为向操作公共数据成员那样操作私有成员,就需要使用属性。属性是一种用于访问对象或类特性的成员。它有访问器,访问器实现对属性值的读取或写入操作。 属性的访问器包括get访问器和set访问器,前者用于获取属性的值,后者用于给属性赋新值。 属性有两种存在形式,一是在公共语言运行库的基类中定义的属性,另一种是可以创建的自定义属性。 在此仅讨论第二种属性。 8 属性与方法 自定义属性申明在类模块内,定义属性时需要指定属性的访问级别、类型及属性的名称,然后是申明get访问器和set访问器的代码块。相当于类的一种公共方法。下面定义一个Date类,在其中定义一个day属性。 public class Date { private int Day=7; public int day { get 8 属性与方法 { return Day; } set { Day=value; } } } } value 是隐形参数,此参数的类型是属性类型 8 属性与方法 8.2 属性的使用 因属性定义在类的内部,是非静态方法,要访问属性,需要先实例化类的对象,并通过如下方式访问: 对象名.属性名 思考: (1)是否可以在类中定义和使用静态属性?在什么情况下可以考虑使用静态属性? 下面例子定义一个类,在类中定义两个string类型的变量,用于记录用户名称和编号,然后在该类中自定义两个属性,用来操作用户编号和姓名。实例化类对象,利用属性改变类的私有变量的值。 8 属性与方法 class MyClass { private string id=“”; private string name=“”; //定义用户编号属性 public string ID //属性名不能和私有变量同名 { get { 8 属性与方法 return id; //返回和设置的一定是类的私有变量 } set { id=value; } } //定义姓名属性 public string Nam
文档评论(0)