访问修饰符
访问修饰符 | 访问级别 |
---|---|
public | 公有地,外部可以访问 |
protected | 受保护的,只有本类和派生类才能够访问 |
private | 私有的,只有本类中可以访问 |
封装
字段封装完称为属性
使用封装访问到其他类中的一些私有字段,但可以通过添加条件来限制外部对齐修改。
// 字段
private string name;
// 属性
public string Name {
//读取
get => name;
// 写入
set => name = value;
}
继承
日常生活中继承一般来说从父母或长辈哪里得到或获得某些东西,比如小明的眼睛像母亲,并继承了父亲的坚强、勇敢、诚实、善良。
在面向对象的世界中也存在着继承特性,继承是面向对象程序设计的重要特性之一,继承的最大优点就是提供了代码的重用
。
在C#中只能继承一个类。
但可以继承多个接口。
继承用:
表示
class Program {
static void Main(string[] args) {
Animal a = new Animal("企鹅", Sex.man, 11);
Console.WriteLine("名字:{0},类型:{1},性别:{2},年龄:{3}", a.Name, a.GetType(), a.Sex, a.Age);
Bird b = new Bird("麻雀", Sex.man);
Console.WriteLine("名字:{0},类型:{1},性别:{2},年龄:{3}", b.Name, b.GetType(), b.Sex);
Animal c = new Bird("大雁", Sex.man);
Console.WriteLine("名字:{0},类型:{1},性别:{2}", c.Name, c.GetType(), c.Sex);
}
}
// 性别
enum Sex {
man,
miss,
}
// 动物类
class Animal {
// 名字公有地,子类可以继承,外部可以访问
public string Name;
// 性别受保护的,子类可继承,外部可以通过封装后的属性进行访问
protected Sex sex;
// 年龄私有的,子类不可继承,外部可以通过封装后的属性进行访问
private int age;
public Sex Sex {
get => sex;
}
public int Age {
get => age;
set => age = value;
}
public Animal() {
}
public Animal(string name, Sex sex, int age) {
Name = name;
this.sex = sex;
this.age = age;
}
}
class Bird : Animal {
public Bird() {
}
public Bird(string name, Sex sex) {
Name = name;
this.sex = sex;
}
}
标签:Animal,封装,name,继承,sex,面向对象编程,Sex,public
From: https://www.cnblogs.com/wuzhongke/p/16819060.html