zoukankan      html  css  js  c++  java
  • C#函数重载

    关于C#的重载
    重载有两种方式,第一种方式new
    这种方式是在派生类创建一个新的元素,通过新的元素进行多态
    virtual和override
    对原来的数据进行重载
    using System;
    using System.Collections.Generic;
    using System.ComponentModel;
    using System.Data;
    using System.Drawing;
    using System.Linq;
    using System.Text;
    using System.Threading.Tasks;
    using System.Windows.Forms;d 
    
    namespace test继承
    {
        public partial class Form1 : Form
        {
            public Form1()
            {
                InitializeComponent();
            }
    
            private void Form1_Load(object sender, EventArgs e)
            {
    
            }
            public class Animal {
                public virtual string Eat() {
                    return "我是动物";
                }
            }
    
            public class Dog :Animal{
                public override string Eat() {
                    return "我是狗";
                }
            }
            public class Cat : Animal
            {
                public new string Eat()
                {
                    return "我是猫";
                }
            }
    
            private void button1_Click(object sender, EventArgs e)
            {
                Animal a = new Dog();
                Console.WriteLine("virtual和override的重载");
                Dog c = new Dog();
                Console.WriteLine(a.Eat());
                Console.WriteLine(c.Eat());
                Animal b = new Cat();
                Console.WriteLine("new的重载");
                Cat d = new Cat();
                Console.WriteLine(d.Eat());
                Console.WriteLine(b.Eat());
    
            }
        }
    }
    
    
    
    结果:       Animal a = new Dog();
                Console.WriteLine("virtual和override的重载");
                Dog c = new Dog();
                Console.WriteLine(a.Eat());//override的上转型
                Console.WriteLine(c.Eat());
                virtual和override的重载
                我是狗
                我是狗
                Animal b = new Cat();
                Console.WriteLine("new的重载");
                Cat d = new Cat();
                Console.WriteLine(d.Eat());
                Console.WriteLine(b.Eat());//new的上转型
                new的重载
                我是猫
                我是动物 
  • 相关阅读:
    1.9
    在VS中添加lib库的三种方法
    第一章之位向量和位运算
    【转载】window下配置pthread的方法及出现问题的解决方法
    opencv环境配置问题
    box-shadow用法简介
    创建资源文件
    nhibernate Mybatisnet
    js中(function(){…})()立即执行函数写法理解
    最近项目中用到的js
  • 原文地址:https://www.cnblogs.com/bianzhuo/p/10485556.html
Copyright © 2011-2022 走看看