当前位置: 首页 > article >正文

刘铁猛C#入门 024 类的声明,继承和访问控制

类声明的全貌

C#声明类的位置

声明既定义(C#与Java)

  • 类的修饰符

最简单的类声明

类的访间控制 :默认internal

共性

  • public 和 internal 都是访问修饰符,用于定义一个类型的成员可以被谁访问。
  • 它们都可以用来声明类、结构、接口、枚举、字段、方法、属性或事件等

区别

  • public 声明的成员对所有其他代码都是可见的,无论这些代码是否位于同一个文件、同一个命名空间或者同一个程序集内。
  • internal,声明的成员仅对包含该成员的程序集内的代码可见。把成员的访问性限制在同一个项目(程序集)里面

类成员的访间控制

类的继承

  • 类在功能上的扩展
  • 只能有一个基类,但可以实现多个接口
  • 类访问级别对继承的影响 ,子类的访问级别不能超越父类
  • sealed类不能被继承,sealed修饰的类为封闭类
  • 是一个,语义上一个子类的实例也是其父类的实例,一个派生类的实例也是其基类的实例。

继承的本质:继承的本质是派生类在基类已有的成员的基础之上对基类进行横向或者纵向上的扩展

  • 横向扩展:类成员在数量上面的扩充
  • 纵向扩展:不增加类成员的个数,对某些类成员版本进行扩充 —— 重写

成员的继承与访问

  • 派生类对继承成员的访问
  • 派生类对基类成员的访问
    • internal 同一程序集
    • private类体内 成员访问默认private
    • protected亲族之间,多修饰在父类的方法中
      • protected internal 一起使用:表既可以被在成员所在的程序集访问 ,也可以被继承链中的类访问
  • 构造器的不可继承性

面对对象的实现风格

  • Class - based 基于类进行的封装和多态
  • Prototype - based 基于原型进行的封装和多态 、JavaScript

派生类对其类的成员获得与访问在派生类中访间基类的成员

构造器的不可继承性


http://www.kler.cn/a/391303.html

相关文章:

  • AcWing 302 任务安排 斜率优化的dp
  • Ubuntu安装MySQL8
  • Flink_DataStreamAPI_输出算子Sink
  • ElasticSearch学习笔记一:简单使用
  • 10款PDF翻译工具的探索之旅:我的使用经历与工具特色!!
  • 彻底理解ARXML中的PDU
  • 微澜:用 OceanBase 搭建基于知识图谱的实时资讯流的应用实践
  • Nebula NGQL语言的使用 一
  • LabVIEW 实现 find_nearest_neighbors 功能(二维平面上的最近邻查找)
  • vue-h5:在h5中实现相机拍照加上身份证人相框和国徽框
  • 智能科技赋能金融决策:中阳科技的数据分析解决方案
  • [免费]SpringBoot+Vue3校园宿舍管理系统(优质版)【论文+源码+SQL脚本】
  • vue3 富文本组件(MDEditor)在拖拽组件(vuedraggable)点击功能失效问题
  • Python 操作 Neo4J,Python 库 Py2Neo
  • (三)【 Python最牛 -Basemap】使用Basemap进行地图可视化
  • 项目管理人员的自我评估与职业目标设定
  • Knife4j调试全局对象参数自动化
  • A算法详解(go实现)
  • 【服务器】本地安装X11 服务器-Windows
  • 【学习】【HTML】HTML、XML、XHTML
  • Spring Boot编程训练系统:核心特性与实现策略
  • 《JVM第10课》内存溢出(OOM)排查过程
  • Rust 生态系统的未来与学习方向
  • 【Android、IOS、Flutter、鸿蒙、ReactNative 】约束布局
  • 鸿蒙进阶-属性动画
  • 移远通信亮相骁龙AI PC生态科技日,以领先的5G及Wi-Fi产品革新PC用户体验