文档章节

C# 语法练习(10): 类[二] - 继承、覆盖、多态、隐藏

涂孟超
 涂孟超
发布于 2014/09/26 15:37
字数 229
阅读 10
收藏 0

继承:
using System;

class Parent
{
    public void Msg() { Console.WriteLine("Parent"); }
}

class Child : Parent { }

class Program
{
    static void Main()
    {
        Parent ObjParent = new Parent();
        Child ObjChild = new Child();

        ObjParent.Msg(); //Parent
        ObjChild.Msg();  //Parent

        Console.ReadKey();
    }
}

 
 
 
 
 

 

 

  

覆盖:
using System;

class Parent
{
    public virtual void Msg() { Console.WriteLine("Parent"); }
}

class Child : Parent 
{
    public override void Msg() { Console.WriteLine("Child"); }
}

class Program
{
    static void Main()
    {
        Parent ObjParent = new Parent();
        Child ObjChild = new Child();

        ObjParent.Msg(); //Parent
        ObjChild.Msg();  //Child

        Console.ReadKey();
    }
}

 
 
 
 
 

 

 

  

多态:
using System;

class Parent
{
    public virtual void Msg() { Console.WriteLine("Parent"); }
}

class Child1 : Parent 
{
    public override void Msg() { Console.WriteLine("Child_1"); }
}

class Child2 : Parent
{
    public override void Msg() { Console.WriteLine("Child_2"); }
}

class Program
{
    static void Main()
    {
        Parent Obj1 = new Child1();
        Parent Obj2 = new Child2();

        Obj1.Msg(); //Child_1
        Obj2.Msg(); //Child_2

        Console.ReadKey();
    }
}

 
 
 
 
 

 

 

  

隐藏:
using System;

class Parent
{
    public void Msg() { Console.WriteLine("Parent"); }
}

/* 有意隐藏应使用 new 关键字 */
class Child1 : Parent 
{
    new public void Msg() { Console.WriteLine("Child_1"); }
}

/* 无意隐藏会有提示, 但可用 */
class Child2 : Parent
{
    public void Msg() { Console.WriteLine("Child_2"); }
}

class Program
{
    static void Main()
    {
        Parent Obj1 = new Child1();
        Parent Obj2 = new Child2();
        Child1 Obj3 = new Child1();
        Child2 Obj4 = new Child2();

        Obj1.Msg(); //Parent
        Obj2.Msg(); //Parent
        Obj3.Msg(); //Child_1
        Obj4.Msg(); //Child_2

        Console.ReadKey();
    }
}

 
 
 
 
 

 

 

  

本文转载自:http://www.cnblogs.com/del/archive/2009/01/02/1367016.html

共有 人打赏支持
涂孟超
粉丝 12
博文 2011
码字总数 14107
作品 0
深圳
程序员
重新学.Net[八]——CLR的面向对象实现

懒了好几天,尽玩去了。恩,赶在年前,把想写的再写一点^_^。 .Net目的之一是建立一个面向对象的编程平台。CLR当然需要支持面向对象的各个特征,确切一些,CLR基本可以视为一个完全面向对象的...

余二五
2017/11/22
0
0
ParisGabriel:Python全栈工程师(0基础到精通)教程 第二十八课(多继承、函数重写)

ParisGabriel 每天坚持手写 一天一篇 决定坚持几年 为了梦想为了信仰   开局一张图                       Python人工智能从入门到精通 补充:  对象 ------------...

ParisGabriel
07/27
0
0
JAVA笔记(四)

面向对象的三大特征:封装、继承、多态。 java中的封装 封装,一个对象和外界的联系应当通过一个统一的接口,应当公开的公开,应当隐藏的隐藏。(对象的属性应当隐藏),一个对象的内部是透明...

dongzhumao
2009/12/27
0
0
深入浅出话多态(上)——具体而微

小序 前几天写了一篇《深入浅出话委托》,很多兄弟姐妹发Mail说还算凑合,又有兄弟说能不能写一篇类似的文章,讲解一下什么是“多态”。一般情况下我写文章都是出于有感而发:一来做个思考的...

余二五
2017/11/15
0
0
Python-面向对象

(个人感觉真心不错 ,转过来一起学习一下 ) 概述 面向过程:根据业务逻辑从上到下写垒代码 函数式:将某功能代码封装到函数中,日后便无需重复编写,仅调用函数即可 面向对象:对函数进行分...

ala9981
2016/03/20
0
0

没有更多内容

加载失败,请刷新页面

加载更多

nginx开启stub_status模块配置方法

nginx开启stub_status模块配置方法 2017年12月13日 15:57:29 ly_dengle 阅读数:3765 标签: stub_statusnginxnginx开启stub_status模块 更多 个人分类: 软件工具php 版权声明:本文为博主原...

linjin200
32分钟前
3
0
挑逗 Java 程序员的那些 Scala 绝技

有个问题一直困扰着 Scala 社区,为什么一些 Java 开发者将 Scala 捧到了天上,认为它是来自上帝之吻的完美语言;而另外一些 Java 开发者却对它望而却步,认为它过于复杂而难以理解。同样是 ...

joymufeng
35分钟前
94
0
精通Spring Boot——第十三篇:整合Mybatis多数据源

久违了,最近度过了一段倦怠期,这段时间干什么都没有动力,拖延症复发。好在我回来了.... ——From me . 进入今天的主题——在Spring Boot 项目中整合mybatis多数据源,其实很简单,其实并不...

developlee的潇洒人生
35分钟前
11
0
ADB控制电视盒子备忘

连接 adb connect 192.169.2.111 获取安装软件的列表 adb shell pm list package 删除 adb uninstall cn.uc.test 安装 adb install xxx.apk...

乐_然
43分钟前
4
0
Hadoop生态系统

首先我们先了解一下Hadoop的起源。然后介绍一些关于Hadoop生态系统中的具体工具的使用方法。如:HDFS、MapReduce、Yarn、Zookeeper、Hive、HBase、Oozie、Mahout、Pig、Flume、Sqoop。 Hadoop...

瑞查德-Jack
49分钟前
12
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部