base关键字疑问

问题描述

首先必须知道覆盖方法和隐藏方法的区别覆盖是让派生类实例中的基类方法被替换掉(原有的基类方法在派生类的内存中不存在)我是这么理解的隐藏则是让派生类的事例中同时包含2个相同的方法(原有的基类方法在派生类内存中还有)既然覆盖让派生类中的基类原有的执行代码消失了那么用base关键字为什么还能访问到?

解决方案

解决方案二:
说明你理解的有点问题
解决方案三:
fun(){//干自己的事base.fun()//嵌入基类要干的事儿//干自己的事}

解决方案四:
引用1楼z81434362的回复:

说明你理解的有点问题

我的理解没问题,谢谢。请参考http://gb2013.blog.163.com/blog/static/2173530120108190520269/
解决方案五:
引用3楼dazitou的回复:

引用1楼z81434362的回复:说明你理解的有点问题我的理解没问题,谢谢。请参考http://gb2013.blog.163.com/blog/static/2173530120108190520269/

你再好好的理解一下继承吧。父亲想传给儿子的东西,儿子想不要都会长在身上
解决方案六:
子类可以有自己的处理函数,它同样可以访问父类的方法表
解决方案七:
引用5楼bdmh的回复:

子类可以有自己的处理函数,它同样可以访问父类的方法表

你说的父类方法表是包含在子类中的吗?还是说父类有一个独立于子类的方发表
解决方案八:
顶!!!!!!!!!!
解决方案九:
该回复于2012-03-26 17:34:08被版主删除
解决方案十:
子类可以在父类的基础上进行扩充同样可以有自己的处理过程。base当然可以访问父类的
解决方案十一:
引用4楼wddw1986的回复:

引用3楼dazitou的回复:引用1楼z81434362的回复:说明你理解的有点问题我的理解没问题,谢谢。请参考http://gb2013.blog.163.com/blog/static/2173530120108190520269/你再好好的理解一下继承吧。父亲想传给儿子的东西,儿子想不要都会长在身上

但是儿子已经覆盖了父亲留给他的东西注意覆盖和隐藏的区别!

时间: 2024-08-01 00:47:38

base关键字疑问的相关文章

C#基础知识之base关键字介绍_C#教程

一.调用基类已被派生类重写的方法 复制代码 代码如下: public class Father {     public virtual void Say()     {         Console.WriteLine("Father Say");     } }   public class Son : Father {     public override void Say()     {         base.Say();         Console.WriteLi

c# Base关键字的使用_C#教程

复制代码 代码如下: using System; using System.Collections.Generic; using System.Text; namespace ConsoleApplication1 { class 继承1 { //virtual虚函数,这样写便于子类重写 public virtual double Area(double a) { return a * 2; } } class Test : 继承1 { //重写父类的Area,当然也可以调用父类的Area方法

[你必须知道的.NET] 第六回:深入浅出关键字---base和this

本文将介绍以下内容: 面向对象基本概念 base关键字深入浅出 this关键字深入浅出 1.引言 new关键字引起了大家的不少关注,尤其感谢Anders Liu的补充,让我感觉博客园赋予的交流平台真的无所不在.所以,我们就有必要继续这个话题,把我认为最值得关注的关键字开展下去,本文的重点是访问关键字(Access Keywords):base和this.虽然访问关键字不是很难理解的话题,我们还是有可以深入讨论的地方来理清思路.还是老办法,我的问题先列出来,您是否做好了准备. 是否可以在静态方法中

《.NET程序员面试秘笈》----面试题12 访问关键字this和base有什么作用

面试题12 访问关键字this和base有什么作用 .NET程序员面试秘笈[考点]this的理解,base的理解. [出现频率] [解答] this关键字用于引用类的当前实例.base关键字用于派生类访问基类成员. 为了说明this和base在类中的具体应用,在ch01目录下新建一个程序文件,并命名为This.cs,编写代码如程序1.13所示. 程序1.13 this和base示例:This.cs using System; class This { static void Main() { C

C# 参考之访问关键字:base、this_C#教程

base base 关键字用于从派生类中访问基类的成员:  调用基类上已被其他方法重写的方法.  指定创建派生类实例时应调用的基类构造函数.  基类访问只能在构造函数.实例方法或实例属性访问器中进行.  示例: 在派生类中调用基类方法.  // base 关键字 // 访问基类成员 using System; public class BaseClass {     protected string _className = "BaseClass";     public virtua

C#语法学习:this&&base

this关键字所指的是类别 (Class) 的目前执行个体 (Instance),而且也用来当做扩充方法之第一 个参数的修饰词 (Modifier). 以下为this的常见用法: this关键字使用的地 方: 1,索引 2,this简单的说,表示所在类.准确的说是代表类的对像. 3,其他场合. 代表构造函数 //要限定被類似名稱所隱藏的成員,例如: public Employee(string name, string alias) { this.name = name; this.alias

使用 Override 和 New 关键字进行版本控制(C# 编程指南)

原文地址:点击打开链接 C# 语言经过专门设计,以便不同库中的基类与派生类之间的版本控制可以不断向前发展,同时保持向后兼容. 这具有多方面的意义.例如,这意味着在基类中引入与派生类中的某个成员具有相同名称的新成员在 C# 中是完全支持的,不会导致意外行为. 它还意味着类必须显式声明某方法是要重写一个继承方法,还是一个隐藏具有类似名称的继承方法的新方法. 在 C# 中,派生类可以包含与基类方法同名的方法. 基类方法必须定义为 virtual. 如果派生类中的方法前面没有 new 或 overrid

举例讲解Java编程中this关键字与super关键字的用法_java

this总要有个事物来代表类的当前对象,就像C++中的this指针一样,Java中的this关键字就是代表当前对象的引用. 它有三个主要的作用: 1.在构造方法中调用其他构造方法.       比如有一个Student类,有三个构造函数,某一个构造函数中调用另外构造函数,就要用到this(),而直接使用Student()是不可以的. 2.返回当前对象的引用. 3.区分成员变量名和参数名. 看下面的例子: public class Student { private String name; pr

C# 1

1.转移序列 @ 的用法:   "C://TEMP//Mydir//Myfile.doc"   应用@后:   @"C:/TEMP/Mydir/Myfile.doc"   唯一的例外就是 " ,必须用/"指定. 2.在switch中,C#只能执行一个case语句.不能像C++那样,在没遇到break之前,可以一次执行多个. 3.溢出检查环境:   checked(expression) 检查是否溢出 desVar = checked((byte)