学习笔记N-180
类
- 更新
- 内容块
- 24
- 阅读
- 约 2 分钟
- 路径
- 学习笔记 / C#
类的实例化
// 类:人的模板,只定义属性/行为
public class Person
{
public string Name;
public int Age;
}// 实例化语法:new 类名()Person p1 = new Person();p1.Name = "张三";
p1.Age = 20;
Console.WriteLine(p1.Name);和结构体,结构化绑定(c++)的思想差不多,一个基本的封装,调用时可以解
同一个类创造多个实例间互不影响
抽象类(abstract class)
继承了抽象父类的子类必须重写父类中全部的方法(抽象子类可以不实现)
允许在抽象父类中没有的方法,在他的各个继承了他的子类中去定义,不过不标准,不规范,不建议
一种实现:
using System;
abstract class Animal
{
public string Name { get; set; }
public void Breathe()
{
Console.WriteLine("动物在呼吸");
}
public abstract void Shout();
}
class Dog : Animal
{
public override void Shout() //重写了方法 override
{
Console.WriteLine("汪汪汪");
}
}
class Cat : Animal
{
public override void Shout()
{
Console.WriteLine("喵喵喵");
}
}
class Program
{
static void Main()
{
Dog dog = new Dog();
dog.Name = "旺财";
dog.Breathe();
dog.Shout();
Cat cat = new Cat();
cat.Shout();
}
}抽象方法
Sealed class
密封类
可以正常实例化,但是不能被继承了
密封方法
在下方的子类中不允许被重写
不过有 public sealed override + 方法名
解释:当前类重写了父类的虚 / 抽象方法,同时把这个方法彻底密封,它的所有子类都不能再重写该方法。