1、1第 4章 面向对象的编程基础 4.1 类4.2 结构4.3 方法4.4 属性与索引器24.1 类类与对象类:一组具有相同数据结构和相同操作的对象的集合。例如 :汽车对象(实例):类的实例化 。例如 :卡车注意: 要使用对象,必须先定义类,然后再创建对象。对象的生存周期对象在建立时分配了内存,创建对象实际上作了两个方面的工作:( 1)使用 new保留字要求系统分配内存;( 2)使用构造函数初始化数据。销毁对象也是做了两个方面的工作:( 1)释放占用的内存;( 2)将分配给对象的内存归还给堆( Heap)。34.1 类的组织1.类的声明用 class定义类,声明类的形式为:附加声明 访问修饰符
2、class 类名称 : 基类 ,接口序列 字段声明 构造函数 方法 事件 注意 :中的内容可省或任选其一 ,当两者都有时 ,先基类后接口44.1 类的组织(续)public class Childprivate int age;private string name;/ 不带参数的构造函数public Child()name = “none“;/ 带参数的构造函数public Child(string name, int age)如果不指明,则默认为 private54.1 类的组织(续)this.name = name;this.age = age;/ 输出方法public void Pri
3、ntChild()Console.WriteLine(“0, 1 years old.“, name, age);public class Program64.1 类的组织(续)public static void Main()/使用 new关键字创建对象, new后是调用的构造函数Child child1 = new Child(“Zhang San“, 11);Child child2 = new Child(“Li Si“, 10);Child child3 = new Child();/ 显示结果Console.Write(“Child #1: “);child1.PrintChild
4、();Console.Write(“Child #2: “);child2.PrintChild();Console.Write(“Child #3: “);child3.PrintChild();74.1 类的组织(续)Console.ReadLine();输出结果:Child #1: Zhang San, 11 years old.Child #2: Li Si, 10 years old.Child #3: none, 0 years old.84.1.2 构造函数作用: 构造函数是一个特殊的方法,用于在建立对象时进行初始化的动作。好处: 确保每一个对象在被使用之前都适当地进行了初始化的
5、动作。构造函数特点: 1) 每个类至少有一个构造函数。若程序代码中没有构造函数则系统会自动提供一个默认的构造函数。2) 一个构造函数总是和它的类名相同。3) 构造函数不包含任何返回值。4) 构造函数总是 public的。一般在构造函数中作初始化工作,对于执行过程用时比较长的程序代码,最好不要放在构造函数中。94.1.2 构造函数(续)1、默认构造函数( 1)如果在类中不定义构造函数,系统会提供一个默认的构造函数。( 2)默认构造函数没有参数。( 3)默认构造函数自动将非静态成员初始化为:数值型 :如 int、 double等,初始化为 0。bool类型:初始化为 false.引用类型:初始化为 null。( 4)如果自己定义了类的构造函数,则所有初始化工作由编程者自己完成。104.1.2 构造函数(续)2. 重载构造函数有时候可能会遇到这样的情况:在一个类中的多个方法中都要用到某一个数据成员,而该成员值必须从其他类中传递过来。这时,无参数的构造函数就不能胜任了,解决这个问题最好的办法就是:重载( Overloading)构造函数。