面向对象编程 封装继承
访问修饰符
访问修饰符 | 访问级别 |
---|---|
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;
}
}
本文来自博客园,作者:坞中客,转载请注明原文链接:https://www.cnblogs.com/wuzhongke/p/16819060.html
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?