欢迎来到unity学习、unity培训、unity企业培训教育专区,这里有很多U3D资源、U3D培训视频U3D教程、U3D常见问题、U3D项目源码,我们致力于打造业内unity3d培训、学习第一品牌。
今天我们来认识一下用属性实现封装:
属性
属性是C#引入的一种语言成分,只有很少的语言支持属性。通过对属性的读和写来保护类中的域。
优点:
在于对象的使用者可以用一条语句来操作内部的数据。
格式如下:
public class Department
{
private string departname; //定义一个私有的变量
public string Departname //
需要注意的是:get带返回值,set带value
{
get
{
return departname;
}
set
{
departname=value;
}
}
继承
继承提供了创建新类的一种方法,继承对开发者来说就是代码共享。
继承创建的子类是作为另一个类的扩充或修正所定义的一个类。
1.子类从超类(父类)中继承所有方法和变量。
2.子类和超类之间是特化与范化的关系。
网上拓展到的关于继承的目的:
面向过程里边没有继承的概念,所以你要做出很多重复性的工作,如果让你开发一个商业应用系统,那么会有很多的实体存在,你每种实体都定义一遍,代码会很臃肿,而已不便理解,难以维护!假如某一天突然想要在人的结构中加多一个躯干的属性,那么你要把所有与人有关的结构实体都加上一个躯干,会让程序员发疯的!
而面向对象的三个特性就是为了解决上述问题,比如说继承,用 C#描述刚才的结构
而面向对象的三个特性就是为了解决上述问题,比如说继承,用 C#描述刚才的结构
class 人
{
public string 五官{get;set;}
public string 四肢{get;set;}
}
class 男人:人
{
public string 喉结{get;set;}
}
class 女人:人
{
public string 胸部{get;set;}
}
这样的结构,当你 要定义一个男人的实例的时候 男人 爷们=new 男人();----------爷们这个实例下边会有三个公共属性,即 五官 四肢 喉结!女人的话就是五官 四肢 胸部!
面向对象为面向过程提供了一种编码上的补充,让程序员可以节省很多力气,并且根据这些特征来改善我们的应用,使得开发更加的流畅!能够拥有更多良好的设计和算法!这个就是面向对象的目的。
利用面向对象来改善上边的修改操作,倘若加入一个躯干的属性,那么只要加在人的那个基类里就可以了,男人女人两个类完全不用改动
{
public string 五官{get;set;}
public string 四肢{get;set;}
}
class 男人:人
{
public string 喉结{get;set;}
}
class 女人:人
{
public string 胸部{get;set;}
}
这样的结构,当你 要定义一个男人的实例的时候 男人 爷们=new 男人();----------爷们这个实例下边会有三个公共属性,即 五官 四肢 喉结!女人的话就是五官 四肢 胸部!
面向对象为面向过程提供了一种编码上的补充,让程序员可以节省很多力气,并且根据这些特征来改善我们的应用,使得开发更加的流畅!能够拥有更多良好的设计和算法!这个就是面向对象的目的。
利用面向对象来改善上边的修改操作,倘若加入一个躯干的属性,那么只要加在人的那个基类里就可以了,男人女人两个类完全不用改动
子类的声明
派生类的建立需要注意:
(1).派生类会继承基类除了构造函数和析构函数的所有成员。
(2).派生类调用构造函数时,会先调用基类的构造函数。默认调用没有参数的构造函数。
(3).用base关键字显式调用基类构造函数(如果基类定义了带有参数的构造函数,那么此构造函数必须被执行,且在派生类中实现该构造函数,此时我们可以使用base关键字)
方法隐藏
如果子类方法的方法名和基类的方法名相同时,系统将隐藏基类同名方法,
自动调用子类的同名方法