12-14面向对象--继承、多态

一、继承

1、类成员的访问

使用场合

C#2.0

Visual Basic 2005

说明

Type

(指类,接口等类型)

public

public

访问不受限制

internal

Friend

访问范围仅限于同一程序集

Member

(指类型中的成员,比如类中的字段)

public

public

访问不受限制

internal

Friend

访问范围仅限于同一程序集

protected

protected

访问范围限于自己或派生出来的子类型

Protected internal

Protected Friend

在同一程序集内访问不受限制,在不同程序集中仅由此类型派生出来的子类型可访问

private

private

仅自己可以访问

1)public、private和protected的区别:

在子类中引用:

2)static: 对变量的静态设置(累加求和)

在父类中的方法:

在子类中的方法:

3)internal

//在某个类中没有任何可访问性关键字在他前面,它就是internal的。

internal class A     

     {

        internal int InternalI = 0;

    }

它完全等同于:

 class A   //在某个类中没有任何可访问性关键字在他前面,它就是internal的。

    {

        internal int InternalI = 0;

    }

它完全等同于:

2、多态:当出现继承关系,就会伴随出现多态;简单的理解就是,子类不仅继承了父类的所有属性和方法,每一个子类又会有属于自己的个性的属性和方法。

3、方法重载、隐藏与虚方法调用

由于子类对象汇集了父类和子类的所有公共方法,有些方法父类和子类有重复的方法,所以调用时会有许多问题出现。

子类方法与父类方法之间的关系有三种:

1)扩充:子类方法,父类没有;

2)重载:子类有父类的同名函数,但参数类型或数目不一样;

3)完全相同:子类方法与父类方法从方法名称到参数类型完全一样。

在主函数中调用:

【练习1】方法重载:

【练习2】方法重写:在子类同名方法前加override,表明对父类同名方法进行了重写。父类

子类默认的是new;

父类默认的是override:

1)加override:(只有当子类转化成父类时起作用)执行子类的方法(子类方法覆盖了父类方法)

2)不加override:变量名后.(点)哪个类就执行该类的方法。

 

 

原文地址:https://www.cnblogs.com/xiaoqingshe/p/4162734.html