【web后端】C#类与继承、随机数写法、虚函数、例题

目录

总结:

1.get和set方法。

2.父类调用基类的构造函数

3.重载(有参数/多参数/无参数)||编译时多态

4.Virtual与override||运行时多态

5.继承写法

6. 静态函数

7.给出1~1000的随机数

例题 

person(父类)

子类1:雇员类

子类2:经理类

主函数调用


 

总结:

1.get和set方法。

[访问修饰符] 类型名  属性名

{  get

   {  return  字段;   }

    set

   { 私有字段 = value; }

}

右键点击类成员快速重构。

快速重构后get、set函数↓

public int Rank1 { get => Rank; set => Rank = value; }  

 

赋值:

p.Rank1 = 2;  //person类的实例化对象p的属性rank赋值为2

读取值

p.Rank1//读取值

 

2.父类调用基类的构造函数

class Car

{

    public Car(int i)    { }

}

class TrashCar : Car

{

    public TrashCar(int i):base(i) { }

}

3.重载(有参数/多参数/无参数)||编译时多态

    public void PushBreak() { speed = 0; }

    public void PushBreak(int s)

4.Virtual与override||运行时多态

  派生类将同名方法覆盖。

5.继承写法

class Manager : Person 

Manager 继承Person 

6. 静态函数

private static int num = 0;  

只能用类调用,不能由对象调用。

 

7.给出1~1000的随机数

Random rand = new Random(Guid.NewGuid().GetHashCode());  

no_rand = rand.Next(0, 1000);  


例题 

 答:

 

person(父类)

using System;  
using System.Collections.Generic;  
using System.Linq;  
using System.Text;  
using System.Threading.Tasks;  
  
namespace ConsoleApp1  
{  
    public class Person  
    {  
        private string Name;  
        private int Phone;  
        private string Email;  
        private int Rank;  
  
        public string Name1 { get => Name; set => Name = value; }  
        public int Phone1 { get => Phone; set => Phone = value; }  
        public string Email1 { get => Email; set => Email = value; }  
        public int Rank1 { get => Rank; set => Rank = value; }  
  
        public virtual void ComputeSalary()  
        {  
            Console.WriteLine("姓名:" + this.Name1 + "工资:" + 1000 * Rank);  
        }  
    }  
}  

子类1:雇员类

using System;  
using System.Collections.Generic;  
using System.Linq;  
using System.Text;  
using System.Threading.Tasks;  
  
namespace ConsoleApp1  
{  
    public class Employee : Person  
    {  
        private int Otime;  
  
        public int Otime1 { get => Otime; set => Otime = value; }  
  
        public override void ComputeSalary()  
        {  
            int temp = 1000 * this.Rank1 + 50 * Otime;  
            Console.WriteLine("姓名:" + this.Name1 + "工资:" + temp);  
        }  
    }  
}

子类2:经理类

using System;  
using System.Collections.Generic;  
using System.Linq;  
using System.Text;  
using System.Threading.Tasks;  
  
namespace ConsoleApp1  
{  
    class Manager : Person  
    {  
        private int performance;  
        private int Members;  
  
        public int Members1 { get => Members; set => Members = value; }  
        public int Performance { get => performance; set => performance = value; }  
  
        public override void ComputeSalary()  
        {  
            int temp = 2000 + Performance * Members;  
            Console.WriteLine("姓名:" + this.Name1 + "工资:" + temp);  
        }  
    }  
}  

主函数调用

using System;  
using System.Collections.Generic;  
using System.Linq;  
using System.Text;  
using System.Threading.Tasks;  
  
namespace ConsoleApp1  
{  
    class Program  
    {  
        static void Main(string[] args)  
        {  
            Person p = new Person();  
            p.Name1 = "人";  
            p.Phone1 = 123123;  
            p.Email1 = "231016@qq.com";  
            p.Rank1 = 2;  
            Console.WriteLine("姓名:" + p.Name1 + " 电话" + p.Phone1 + " 邮箱" + p.Email1 + " 等级" + p.Rank1);  
            p.ComputeSalary();  
  
            Employee e = new Employee();  
            e.Name1 = "雇员";  
            e.Phone1 = 4567;  
            e.Email1 = "4567@qq.com";  
            e.Rank1 = 5;  
            e.Otime1 = 10;  
            Console.WriteLine("姓名:" + e.Name1 + " 电话" + e.Phone1 + " 邮箱" + e.Email1 + " 等级" + e.Rank1 + "加班时间" + e.Otime1);  
            e.ComputeSalary();  
  
            Manager m = new Manager();  
            m.Name1 = "经理";  
            m.Phone1 = 6666;  
            m.Email1 = "6666@qq.com";  
            m.Rank1 = 100;  
            m.Performance = 100;  
            m.Members1 = 50;  
            Console.WriteLine("姓名:" + m.Name1 + " 电话" + m.Phone1 + " 邮箱" + m.Email1 + " 等级" + m.Rank1 + "人数" + m.Members1 + "绩效" + m.Performance);  
            m.ComputeSalary();  
        }  
    }  
}  

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值