涉及属性,继承,构造函数的小程序
2011-07-26 11:42
211 查看
using System; namespace 继承实验 { class Program { class dog { private int Age; private string Name; public static string HomeTown; static dog() { HomeTown = "东北松花江上!"; //类构造器 } public int GetAge { get { return Age; } set { value = Age; } } public string GetName { get { return Name; } set { value = Name; } } public dog(int Age) { this.Age = Age; //实例构造器 } public dog(string Name,int Age) : this(Age) { this.Name = Name; } } static void Main(string[] args) { dog d1 = new dog(5); Console.WriteLine("我的名字是{0},今年{1}岁了,我的家乡在{2}", d1.GetName, d1.GetAge,dog.HomeTown);//如果实例构造器,没有 //初始化数据,值类型默认为0,引用类型默认为null dog d2 = new dog("芭比", 5); Console.WriteLine("我的名字是{0},今年{1}岁了,我的家乡在{2}", d2.GetName, d2.GetAge,dog.HomeTown); Console.ReadLine(); } } } /* 实例对象初始化过程: 为实例分配内存; 初始化附加成员,包括方法表指针和SyncBlockIndex变量(我们已经在 跟小静读CLR via C#(03)中已经提到过)。 调用实例构造器进行初始化。 */ /* 类构造器适用于引用类型(包括接口)和值类型,用来设置类的初始状态。类中并没有默认产生的类构造器,需要我们显式构造 类构造器只能有一个,不能进行重载。而且不能含参数。类构造器的目的是初始化类的静态成员,它只能访问静态成员,不能访问实例成员。 类构造器的访问限制是私有的,但是我们不能在类构造器前添加访问修饰符,private也不行,否则会产生编译错误, 这样做是为了防止开发人员调用该方法。它的调用是由CLR负责的,我们应该避免编写需要以特定顺序调用类构造器的代码。 类构造器不要调用其基类的类构造器。因为基类的静态成员并没有被派生类所继承,它只是编译时静态绑定。 类构造器的调用顺序和实例构造器相似的,首先静态字段被初始化,然后在构造其中被重新赋值。*/
[/code]
相关文章推荐
- 第十二周 阅读程序 多重继承 理解多重继承中构造函数
- 用构造函数继承基类的属性、用原型对象继承基类的方法
- Kotlin学习记录(二)—— Kotlin的变量、属性、类、构造函数、继承、方法
- javaScript属性和方法同在构造函数中(包含继承)
- IOS OC属性、构造函数、封装、继承、多态
- 第十一周阅读程序1:继承与派生类的构造函数和析构函数
- 第十二周阅读程序2:多重继承的构造函数
- Kotlin Reference (五) 类的构造函数,类的继承,属性操作
- 对象,构造函数的属性(prototype)的继承
- JavaScript 中实现继承的方式(列举3种在前一章,我们曾经讲解过创建类的最好方式是用构造函数定义属性,用原型定义方法。)
- 第十一周 阅读程序 构造函数与虚构函数中继承执行先后
- c++primer(5th)15章 文本查询程序 代码解读(学习继承与多态)与修改+动物运动会代码(学习继承与多态,拷贝用构造函数,=重载运算符)
- c++ 继承/派生、访问属性、构造函数
- 继承和构造函数,属性的继承问题。
- C++程序示例:涉及到抽象类、继承…
- 第十一周 阅读程序4 类的继承构造函数与析构函数调用的先后顺序
- 第十一周阅读程序3:继承方式和访问属性
- 博主对Oracle对象追加属性,更改构造函数,继承方面的脚本使用记录.
- 继承类的访问属性的小程序
- 在C++中子类继承和调用父类的构造函数方法