对象的创建及应用
对象的创建
对象可以认为是在一类事物中抽象出某一个特定通过这个特例来处理这类事物出现的问题。在程序语言中通过new关键字来创建对象。前文在讲解构造函数时介绍过每实例化一个对象就会自动调用一次构造函数,实质上这个过程就是创建对象的过程,准确的说可以在程序语言中使用new关键字调用构造函数创建对象。
语法如下:
Test test =new Test();
Test test =new Test("a");
参数说明,Test是类名,test创建Test类对象,New创建对象操作符。A构造函数的参数。
当用户使用new关键字创建一个对象后,可以使用对象.类成员来获取对象的属性和行为,前文已经提到过,对象的属性和行为在类中是通过类成员变量和成员方法的形式来表示的,所以当对对象获取类成员,时就相应,的获取了,对象的,属性和行为
对象的销毁
每个对象都有生命周期,当对象的生命周期结束时,分配给该对象的内存地址将会被回收。在其他语言中需要手动回收废弃的对象,但是c#拥有一套完整的垃圾回收机制,用户不必担心废弃的对象占用内存,垃圾回收器将回收无用且占用内存的资源。
在谈到垃圾回收机制之前,首先要了解什么样的对象会被垃圾回收器视为垃圾,主要包括以下两种情况。
1、对象引用超过其作用范围的,被这个对象视为垃圾。
2、将对象赋值为null
类与对象的关系
类是一种抽象的数据类型,但是其抽象的程度可能不同。而对象是一个类的实例,例如将农民设计为一个类,张三和李四就可以作为一个对象。
从这里可以看出张三和李四有很多共同点,他们都在某个农村生活,早上都要出门务农,晚上都会回家,对于这样相似的对象就可以将其抽象为一个数据类型,此处抽象为农民,这样只需要将农民这个类型编写好,程序中就会很方便的创建张三和李四这样的对象,但代码需要修改时,只需要对农民类型进行修改即可。
综上所述,可以看出类和对象的区别类是具有相同或相似结构高度和约束规则的对象组成的集合,而对象是某一类的具体化实例,每一个类都具有某些共同特征的对象的抽象。
继承
继承是面向对象编程最重要的特征之一。它源于人们认识客观世界的过程,是自然界普遍存在的一种现象,比如我们每一个人都要同祖辈和父辈那里继承一些体貌特征,但是每个人却又不同于父母,因为每个人都存在于自己的一些特征,这些特征是独有的,在父母身上并没有体现在程序设计中实现继承,表示这个类拥有它所继承类的所有公有函数或者受保护成员在面向对象编程中被继承的类称为父类或者是基类,实现继承的类成为子类或者派生类。
继承的实现
继承的基本思想是基于某一个基类的扩展至多出一个新的派生类,派生类可以继承基类所有的属性和方法,也可以增加原来鸡类所不具备的属性和方法,或者直接重启鸡肋中的某些方法,例如平行四边形是特殊的四边形。可以说平行四边形类继承了四边形类,这时平行四边形类将所有四边形具有的属性和方法都保留了下来,并基于四边形类扩展一些新的平行四边形类特有的属性和方法。
下面演示一下继承性,创建一个新类test,同时创建另一个新类test 2继承test类,其中包括重写的基类成员方法以及新增成员方法等。