博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
c# override,new关键字区别与使用(学习笔记)
阅读量:6655 次
发布时间:2019-06-25

本文共 1355 字,大约阅读时间需要 4 分钟。

今天看到一个朋友

在override,new上的问题搞错,呵呵我想很多刚入门的朋友也一样吧
我呢就查查资料顺便巩固一下自己的理解,现在整理出学习笔记.

先看段代码:

 1
using
 System;
 2
using
 System.Collections.Generic;
 3
using
 System.Text;
 4
 5
namespace
 ConsoleApplication1
 6
{
 7    class Program
 8    {
 9
10        static void Main(string[] args)
11        {
12            baseClass bc;
13            class1 ct1 = new class1();
14
15            class2 ct2 = new class2();
16
17            ct1.prinf();
18            bc = ct1;
19            bc.prinf();
20
21            Console.WriteLine("---------------------");
22            
23            ct2.prinf();
24            bc = ct2;
25            bc.prinf();
26
27        }
28    }
29
30    public class baseClass
31    {
32        private int index = 0;
33
34        public virtual void prinf()
35        {
36
37            Console.WriteLine("这是基类虚方法" + index.ToString());
38
39        }
40
41    }
42
43    public class class1 : baseClass
44    {
45        private int index = 1;
46
47        public override void prinf()
48        {
49
50            Console.WriteLine("这是子类新的方法" + index.ToString());
51
52        }
53
54    }
55
56    public class class2 : baseClass
57    {
58        private int index = 2;
59
60        public new void prinf()
61        {
62
63            Console.WriteLine("这是子类新的方法" + index.ToString());
64
65        }
66
67    }
68
69
70}
71

运行结果:
这是子类新的方法1
这是子类新的方法1
---------------------
这是子类新的方法2
这是基类虚方法0

如上

使用override重写printf方法,通过父类引用一样只能看到重写后的方法;
如果使用new隐藏printf方法,父类子类引用各自对应方法;

override重写虚方法,那么就只剩下重写以后的方法;

new隐藏基类的方法,那么基类的方法和当前类的方法同时存在只是被隐藏了;

真想弄些实际应用的例子,想好了补上.

本文转自黄聪博客园博客,原文链接:http://www.cnblogs.com/huangcong/archive/2010/12/03/1895408.html,如需转载请自行联系原作者

你可能感兴趣的文章
自制简易linux系统
查看>>
我的友情链接
查看>>
诺基亚5130XM手机上网设置
查看>>
Mybatis-Plus 之BaseMapper 方法详解
查看>>
学H3C的认证要注意的几个事情
查看>>
【sql】连续出现至少3次的数 Consecutive Numbers
查看>>
交替取值判断第一个人能否赢过第二个人 Predict the Winner
查看>>
我的友情链接
查看>>
nginx安装lua/replace-filter-nginx-module
查看>>
图像模式识别 (二)
查看>>
iptables发布nfs服务器的配置及NFS简易配置
查看>>
NDK r7 的新特性
查看>>
安装SQLSERVER2008R2保持和SQL2000独立运行的安装过程
查看>>
Heartbeat+DRBD+mysql高可用方案
查看>>
smartbits的国产版本minismb-使用burst模式
查看>>
Datastore content not visible for multiple Hosts
查看>>
【深入浅出MyBatis系列七】分页插件
查看>>
成为JavaGC专家(2)—如何监控Java垃圾回收机制
查看>>
360软件的×××查杀、漏洞修复等组件不能使用,提示runtime error
查看>>
我的友情链接
查看>>