目录
总结:
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();
}
}
}