zoukankan      html  css  js  c++  java
  • C#之override学习案例

    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;
    namespace override_test
    {
        class TestOverride
        {
            public class Employee
            {
                public string name;
                protected decimal basepay;
                public Employee(string name, decimal basepay)  //构造函数
                {
                    this.name = name;
                    this.basepay = basepay;
                }
                public virtual decimal CalculatePay()
                {
                    return basepay;
                }
            }
            public class SalesEmployee : Employee    //实现继承
            {
                private decimal salesbonus;
                public SalesEmployee(string name, decimal basepay, decimal salesbonus)
                    : base(name, basepay)
                {
                    this.salesbonus = salesbonus;
                }
                public override decimal CalculatePay()
                {
                    return basepay + salesbonus;
                }
            }
            static void Main()
            {
                SalesEmployee employee1 = new SalesEmployee("Alice",1000,500);
                Employee employee2 = new Employee("Bob", 1200);
                Console.WriteLine("Employee" + employee1.name + "earned:" + employee1.CalculatePay());
                Console.WriteLine("Employee"+employee2.name+"earned:"+employee2.CalculatePay());
            }
        }
    }             //override的作用就是用来重写基类的方法,如果不重写且基类方法依然为virtual,则类似于普通的继承

  • 相关阅读:
    JavaWeb 输出九九乘法表,三角形,菱形
    模拟ATM机将输入的数据插入数据库
    JDBC连接数据库
    执行动态语句
    python深拷贝和浅拷贝
    redis数据库操作
    pymysql数据库操作
    linux 从Python 2.7升级至Python3.6.1
    模块---常用模块
    模块---安装模块
  • 原文地址:https://www.cnblogs.com/zztong/p/6695221.html
Copyright © 2011-2022 走看看