学习Unity3D第十五天之继承。

来源:互联网 发布:顾家 知乎 编辑:程序博客网 时间:2024/05/17 07:28

欢迎来到unity学习unity培训unity企业培训教育专区,这里有很多U3D资源U3D培训视频U3D教程U3D常见问题U3D项目源码,我们致力于打造业内unity3d培训、学习第一品牌。

1、继承的意义:继承定义了类如何相互关联,共享特性。
2、继承的概念:当一个类A能够获取另一个类B中所有非私有的数据和操作的定义作为自己的部分或全部成分是,就称这两个类之间具有继承关系。被继承的类B称为父类或超类,继承了父类或超类的数据和操作的类A称为子类。
3、继承的建立:继承就是在现有类的基础上建立新类的过程。
4、继承的关系:一个父类可以拥有多个子类,一个子类也可以成为其他类的基类。
5、继承的语法格式:[访问权限]class<派生类名>:<基类名>{//派生类定义}
  1)子类可以使用父类的protected和public可见的变量和方法,就像这些变量和方法是自己定义的一样。
  2)私有成员和方法其实已经被继承了,但是它们却不可以被访问,因为私有成员和方法只能被声明它们的类中才可访问,所以看上去像是没有被继承。
  3)C# 中,如果类声明时没有声明父类,那么缺省为Object 类的子类。C#中的所有类都是System.Object类的子类。
  4)C#中,子类只能继承一个父类,但一个基类可以有多个直接派生类。继承是可以传递的。
  代码:class Car
           {
                int color;
                int door;
                int speed;
                public void AddOil() { }
            }
            class TrashCar : Car{ }
            class MyApp
            {
                static void Main()
                {
                    TrashCar myCar = new TrashCar();
                    myCar.AddOil();
                }
            }
6、sealed:能够阻止某各类被其他类继承。
    sealed class A
    {
        int test;
        public void Sum(int i,int j)
        {
            int sum = i + j;
            Console.WriteLine("I am A ,my sum ={0}",sum);
        }
    }
    class B : A
    {
        public void Minus(int i,int j)
        {
            int minus = i - j;
            Console.WriteLine("I am B ,my minus ={0}", minus);
            this.Sum(3, 4);       //编译器会报错    
        }
     }
7、继承时的注意事项。
  1)继承是可传递的:如果C从B中派生,B又从A中派生,那么C不仅继承了B中声明的成员,同样也继承了A中的成员。Object类作为所有类的基类。
  2)派生类应当是对基类的扩展:派生类可以添加新的成员,但不能除去已经继承的成员的定义。
  3)构造函数和析构函数不能被继承:除此之外的其他成员,不论对它们定义了怎样的访问方式,都能被继承。基类中成员的访问方式只能决定派生类是否访问它们。
  4)派生类如果定义了与继承而来的成员同名的新成员,就可以覆盖已继承的成员:但是并不是派生类删除了这些成员,只是不嗯能够再访问这些成员。
  5)派生类调用构造函数时,会先调用基类的构造函数。默认调用没有参数的构造函数。
  6)用base关键字显式调用基类构造函数(如果基类定义了带有参数的构造函数,那么此构造函数必须被执行,且在派生类中实现该构造函数,此时我们可以使用base关键字)。
        class Car
        {
            public Car(int i)    { }
        }
        class TrashCar : Car
        {
            public TrashCar(int i):base(i) { }
        }
8、继承的优点。
  1)继承描述了“是什么种类”的关系。
  2)派生类从基类继承属性和方法,实现了代码的重用。
  3)派生类变得更专门化。

1、继承的意义:继承定义了类如何相互关联,共享特性。
2、继承的概念:当一个类A能够获取另一个类B中所有非私有的数据和操作的定义作为自己的部分或全部成分是,就称这两个类之间具有继承关系。被继承的类B称为父类或超类,继承了父类或超类的数据和操作的类A称为子类。
3、继承的建立:继承就是在现有类的基础上建立新类的过程。
4、继承的关系:一个父类可以拥有多个子类,一个子类也可以成为其他类的基类。
5、继承的语法格式:[访问权限]class<派生类名>:<基类名>{//派生类定义}
  1)子类可以使用父类的protected和public可见的变量和方法,就像这些变量和方法是自己定义的一样。
  2)私有成员和方法其实已经被继承了,但是它们却不可以被访问,因为私有成员和方法只能被声明它们的类中才可访问,所以看上去像是没有被继承。
  3)C# 中,如果类声明时没有声明父类,那么缺省为Object 类的子类。C#中的所有类都是System.Object类的子类。
  4)C#中,子类只能继承一个父类,但一个基类可以有多个直接派生类。继承是可以传递的。
  代码:class Car
           {
                int color;
                int door;
                int speed;
                public void AddOil() { }
            }
            class TrashCar : Car{ }
            class MyApp
            {
                static void Main()
                {
                    TrashCar myCar = new TrashCar();
                    myCar.AddOil();
                }
            }
6、sealed:能够阻止某各类被其他类继承。
    sealed class A
    {
        int test;
        public void Sum(int i,int j)
        {
            int sum = i + j;
            Console.WriteLine("I am A ,my sum ={0}",sum);
        }
    }
    class B : A
    {
        public void Minus(int i,int j)
        {
            int minus = i - j;
            Console.WriteLine("I am B ,my minus ={0}", minus);
            this.Sum(3, 4);       //编译器会报错    
        }
     }
7、继承时的注意事项。
  1)继承是可传递的:如果C从B中派生,B又从A中派生,那么C不仅继承了B中声明的成员,同样也继承了A中的成员。Object类作为所有类的基类。
  2)派生类应当是对基类的扩展:派生类可以添加新的成员,但不能除去已经继承的成员的定义。
  3)构造函数和析构函数不能被继承:除此之外的其他成员,不论对它们定义了怎样的访问方式,都能被继承。基类中成员的访问方式只能决定派生类是否访问它们。
  4)派生类如果定义了与继承而来的成员同名的新成员,就可以覆盖已继承的成员:但是并不是派生类删除了这些成员,只是不嗯能够再访问这些成员。
  5)派生类调用构造函数时,会先调用基类的构造函数。默认调用没有参数的构造函数。
  6)用base关键字显式调用基类构造函数(如果基类定义了带有参数的构造函数,那么此构造函数必须被执行,且在派生类中实现该构造函数,此时我们可以使用base关键字)。
        class Car
        {
            public Car(int i)    { }
        }
        class TrashCar : Car
        {
            public TrashCar(int i):base(i) { }
        }
8、继承的优点。
  1)继承描述了“是什么种类”的关系。
  2)派生类从基类继承属性和方法,实现了代码的重用。
  3)派生类变得更专门化。

0 0
原创粉丝点击