C#基础知识学习(1)方法的重写和隐藏
做了1年多了C#,发现些项目过程中很多基础东西都不是很清晰,基础不够牢固。现在开始复习基础知识并做重点记录
方法需要被重写的时候,可以在方法前加入virtual使方法变成虚方法。
class MyAlass:Base2
{
public override void ClassB()
{
base.ClassB();
Console.WriteLine("a.ClassB()");
}
}


自己的理解:
//基类1
class Base
{
public void ClassA()
{
Console.WriteLine("Base.ClassA()");
}
}
//子类覆盖基类方法
class MyClass:Base
{
public new void ClassA()
{
Console.WriteLine("c.ClassA()");
}
}
//基类2
class Base2
{
public virtual void ClassB()
{
Console.WriteLine("Base2.ClassB()");
}
}
//子类重写基类2的方法
class MyAlass:Base2
{
public override void ClassB()
{
Console.WriteLine("a.ClassB()");
}
}
//主程序
class Program
{
static void Main(string[] args)
{
Base b1 = new Base();
b1.ClassA();
Base c = new MyClass();
c.ClassA();
Console.WriteLine("\n");
Base2 b2 = new Base2();
b2.ClassB();
Base2 a = new MyAlass();
a.ClassB();
Console.ReadKey();
}
}

C#基础知识学习(1)方法的重写和隐藏的更多相关文章
- GCC基础知识学习
GCC基础知识学习 一.GCC编译选项解析 常用编译选项 命令格式:gcc [选项] [文件名] -E:仅执行编译预处理: -S:将C代码转换为汇编代码: -c:仅执行编译操作,不进行连接操作: -o ...
- (转)Linux基础知识学习
Linux基础知识学习 原文:http://blog.csdn.net/ye_wei_yang/article/details/52777499 一.Linux的磁盘分区及目录 Linux的配置是通过 ...
- Objective-c基础知识学习笔记
Objective-c基础知识学习笔记(一) 一直有记录笔记的习惯.但非常久没分享一些东西了,正好上半年開始学习IOS了,如今有空写点.因开发须要,公司特意为我们配置了几台新MAC.还让我们自学了2周 ...
- Vue2基础知识学习
Vue2基础知识学习 01.初识 new Vue({ el: '#root', //用于指定当前Vue实例为哪个容器服务,值通常为css选择器符 data () { return { } } }); ...
- AXAJ基础知识学习
AXAJ基础知识学习 博客首页 Ajax简介 ajxa全称是Asynchronous Javascript And XML ,就是异步的JS 和XML 通过Ajax可以再浏览器中向服务器发送异步请求, ...
- 《Java基础知识》Java方法重载和重写
重写(Override) 重写是子类对父类的允许访问的方法的实现过程进行重新编写, 返回值和形参都不能改变.即外壳不变,核心重写! 重写的好处在于子类可以根据需要,定义特定于自己的行为. 也就是说子类 ...
- PHP基础知识学习总结
从今天开始过一遍PHP的基础知识 加油 地址:http://www.runoob.com/php/php-mail.html 该看:PHP发送电子邮件 2017年5月23日23:38:30 ...
- Java基础知识学习(三)
面向对象部分 首先要了解面向对象的思想,与C#一致,都是面向对象的语言 访问修饰符 public 共有的,对所有类可见. protected 受保护的,对同一包内的类和所有子类可见. private ...
- 韩天峰博客 php基础知识学习记录
http://rango.swoole.com 写好PHP代码真的不容易,给大家几个建议: 慎用全局变量,全局变量不好管理的,会导致你的代码依赖于全局变量,而耦合度太高. 一定不要复制粘贴代码,可重用 ...
随机推荐
- Android权限系统
Android系统为每个应用程序提供了一个安全的运行环境,不同程序间相互隔离,应用程序的数据等私有资源,外界无法访问.这个安全的运行环境由Android的权限系统(可称为沙箱系统)来提供.本文简单记录 ...
- Gitlab应用——系统管理
查看linux系统信息 查看日志 创建账号 选择regular,这是一个普通账号,点击“create user”账号创建完成 点击“User”,然后点击“New user”.使 ...
- [洛谷P1606] [USACO07FEB] 荷叶塘Lilypad Pond
Description 为了让奶牛们娱乐和锻炼,农夫约翰建造了一个美丽的池塘.这个长方形的池子被分成了M行N列个方格(1≤M,N≤30).一些格子是坚固得令人惊讶的莲花,还有一些格子是岩石,其余的只是 ...
- 实验二:在Cisco Packet Tracer模拟器上进行Trunk+Access端口混合模式实验
1.配置图 2.配置命令 Switch0的VLAN配置如下: 查看Switch0的vlan配置如下: Switch0的Trunk端口配置如下: Switch1的VLAN配置如下: 查看Switch1的 ...
- Excel.Application class
https://docs.microsoft.com/en-us/javascript/api/excel/excel.application?view=office-js Represents th ...
- Frameworks.Entity.Core 7
1描述:实体基类,与业务和架构无关名称:EntityBase属性:public abstract 2描述:/ MongoDB的一些扩展方法名称:MongoExtensions修饰: public st ...
- 现在啊还不太清楚 nodejs和coffeescript 的关系
我怎么会思考这个问题,今天看到用coffeescript做的一个服务引导 挺好 看博客里提 安装node之后 呢 npm 可以安装coffeescript 难道 coffee 是 node的 一个方言 ...
- 用 F# 手写 TypeScript 转 C# 类型绑定生成器
前言 我们经常会遇到这样的事情:有时候我们找到了一个库,但是这个库是用 TypeScript 写的,但是我们想在 C# 调用,于是我们需要设法将原来的 TypeScript 类型声明翻译成 C# 的代 ...
- Dynamics 365 CRM 配置field service mobile
配置field service mobile其实微软是有官方文档的, 但是没有坑的微软产品不是好产品. 一些细节设置文中还是没有考虑到的. 所以这里带大家配置一下field service mobil ...
- ios---photo实现保存图片到自定义相册
#import "XMGSeeBigPictureViewController.h" #import "XMGTopic.h" #import <SVPr ...