类和对象
1、类是抽象的,对象是具体的
2、给一类所有属性赋值,所有行为进行具体实现,将会得到一个对象
3、具有相同特征的对象可以抽象为一个类
4、如:水果是一个类,苹果就是一个对象
访问修饰符
sealed:如果类的访问修饰符为sealed(密封的),则这个类不能被继承,
private:类中成员的默认访问修饰符
internal:类的默认访问修饰符
pubic:说明这个类是公开的公共的.
protected:说明只能在该类或子类的访问
封装
字段/属性
/// <summary>
/// 学生类
/// </summary>
class Students
{
/// <summary>
/// 字段_名字
/// </summary>
private string name;
/// <summary>
/// 字段_学号
/// </summary>
private int id;
/// <summary>
/// 属性_名字
/// </summary>
public string Name {
get { return name; }
set { name = value; }
}
/// <summary>
/// 属性_学号
/// </summary>
public int Id
{
get { return id; }
set { id = value; }
}
}
方法重载
1、同一个类中
2、方法名相同
3、参数类型或个数不同
public void Shou()
{
Console.WriteLine("无参数,构造函数");
}
public void Shou(string id)
{
Console.WriteLine("一个参数,构造函数");
}
public void Shou(int id)
{
Console.WriteLine("一个参数,构造函数");
}
public void Shou(string id,string name)
{
Console.WriteLine("俩个参数,构造函数");
}
构造函数
1、构造函数的名字与类名相同,且没有返回类型
2、构造函数是在使用new关键字创建对象时系统自动调用
3、构造函数的作用是在初始化对象时给对象赋值
class Students
{
public Students()
{
Console.WriteLine("我是构造函数");
}
}
继承
1、继承指子类可以沿用父类的某些行为和特征
2、当A类被B类继承时,我们就把A类称为父类或基类,B类为子类或派生类
3、C#中继承具有传递性和单根性
4、在子类中我们可以通过this关键字访问本类成员,使用base关键字访问父类成员
5、如果没有父类,则会默认继承Object类
6、子类会先隐式调用父类的无参构造函数,再调用自身的构造函数
多态
1、使用new关键字隐藏父类010
2、父类使用virtual关键字定义虚方法子类重写父类方法
3、使用sealed密封类,不能作为父类,防止派生类,同override使用
4、密封类中不能有虚方法