派生类的声明

时间:2022-08-17 18:54:43

(1)

decimal 关键字指示 128 位数据类型。 与浮点型相比,decimal 类型具有更高的精度和更小的范围,这使它适合于财务和货币计算。decimal 类型的大致范围和精度如下所示。

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace 演示方法参数
{
    class Person
    {
        private string name;
        private char sex;
        private int age;
        public Person(string n, char s, int a) {
            name = n;
            sex = s;
            age = a;
        }
        public void Display() {
            Console.WriteLine("name:{0}", name);
            Console.WriteLine("sex:{0}", sex);
            Console.WriteLine("age:{0}", age);
        }
        
      
    }
    //派生类
    class Employee : Person {

        private string department;
        private decimal salary;
        //如果想要调用基类的非默认构造函数,必须使用base关键字。
        public Employee(string n, char s, int a, string d, decimal sa) : base(n, s, a) {
            department = d;
            salary = sa;
        }
        //在派生类中声明与基类同名的新成员可以隐藏基类的成员,会导致编译器错误,所以会加上一个new关键字。
        new public void Dispaly() {
            base.Display();//利用base关键字访问基类中的成员。
            Console.WriteLine("Department:{0}", department);
            Console.WriteLine("Salary:{0}", salary);
        }

    }
    class Test { 
          static void Main(string[] args)
        {
            Person p = new Person("李红",'女',28);
            Employee e = new Employee("田春梅",'女',24,"办公室",3599);
            Person q = e;//基类变量可以存储派生类对象。将派生类的e用基类的q保存。
            p.Display();//基类的方法
            e.Dispaly();//派生类的方法
            q.Display();//name:田春梅 sex:女 age:24,调用的是基类的Display方法,所以没有将派生类的数据完全展现出。

        }

               }

}