c# 继承与多种状态
可访问性:
public 无限制
internal 只允许在同一个程序集访问
protected 允许派生类访问
protected internal protected和internal的合并
private 只能在当前类型中访问
继承:在一个类定义中使用 类1:类2 类1中集继承了类2中的元素

注意:在继承中,首先调用的是基类的构造函数,然后调用派生的构造函数。还要注意可访问性要一致,例如public class A和internal class B
这两个类就不能继承。为了保证从基类继承下来的成员都能访问,派生类的可访问性不应该比基类高。要隐藏基类的成员,可以吧成员定义成
private(这种可访问性,只允许内部访问)。所以在派生类中就不能访问这个成员。
如果我们要覆盖掉基类的成员。就需要加入virtual和override关键字。
virtual:在基类中使用 public virtual void work().....//将其虚化
override:在派生类中使用public override void work()....//覆盖基类中的成员
如果要组织定义的这个类被继承 可以使用 sealed 关键字
public sealed class
抽象类:
抽象类被视为公共类,特征是不能被实例化,使用关键字abstract

这里定义一个抽象类Ball,使用关键字abstract,为只读 然后定义一个B类使用override 覆盖这个抽象类Ball
c# 继承与多种状态的更多相关文章
- Qt编写可拖动对象+背景地图+多种样式+多种状态(开源)
在很多项目应用中,需要根据数据动态生成对象显示在地图上,比如地图标注,同时还需要可拖动对象到指定位置显示,能有多种状态指示,为此特意编写本控件,全部开源出来,欢迎大家提建议.同时多多支持整套自定义控件 ...
- HDU - 1176 免费馅饼 DP多种状态转移
免费馅饼 都说天上不会掉馅饼,但有一天gameboy正走在回家的小径上,忽然天上掉下大把大把的馅饼.说来gameboy的人品实在是太好了,这馅饼别处都不掉,就掉落在他身旁的10米范围内.馅饼如果掉在了 ...
- 基础3:js实现继承的多种方式
js实现继承的多种方式 1. 原型链继承 function Parent() { this.name = 'xwk' } Parent.prototype.getName = function() { ...
- 【编程题与分析题】Javascript 之继承的多种实现方式和优缺点总结
[!NOTE] 能熟练掌握每种继承方式的手写实现,并知道该继承实现方式的优缺点. 原型链继承 function Parent() { this.name = 'zhangsan'; this.chil ...
- 23.C++- 继承的多种方式、显示调用父类构造函数、父子之间的同名函数、virtual虚函数
上章链接: 22.C++- 继承与组合,protected访问级别 继承方式 继承方式位于定义子类的”:”后面,比如: class Line : public Object //继承方式是publi ...
- hdoj2577【多种状态】(简单DP)
#include <stdio.h> #include <iostream> #include <sstream> #include <string.h> ...
- MySQL的优化点总结---通过计算多种状态的百分比看MySQL的性能情况
1 读写比例: show global status like 'com_select'; 获得服务器启动到目前查询操作执行的次数:show global status like 'com_inse ...
- mysql统计一个字段的多种状态
假如我有下面的表:ID Item status updatetime author1 a 1 2014-01-0 ...
- java中抽象、分装、继承和多态的理解
1.抽象.封装装.继承和多态是java面向对象编程的几大特点. 抽象:所谓抽象就是对某件事务,我们忽略我们不关心不需要的部分,提取我们想要的属性和行为,并且以代码的形式提现出来:例如我们需要对一个学生 ...
随机推荐
- 安装Vue Devtools
命令行进入vue-devtools\vue-devtools-master执行 cnpm install (貌似npm不太好使,也可能是我网络代理的原因) (淘宝镜像安装 npm install -- ...
- 递归、嵌套for循环、map集合方式实现树形结构菜单列表查询
有时候, 我们需要用到菜单列表,但是怎么样去实现一个菜单列表的编写呢,这是一重要的问题. 比如我们需要编写一个树形结构的菜单,那么我们可以使用JQuery的zTree插件:http://www.tre ...
- gitlab:开发+测试+发布的全流程图
- AFNetWorking上传JSON串
AFHTTPSessionManager *manager = [AFHTTPSessionManager manager]; manager.responseSerializer = [AFJSON ...
- 表单中的input框点击enter到下一个input框
$(function() { $("#form1").on("keydown", "tr input", function() { //响应 ...
- vue中keep_alive使用
总结:keep-alive 是Vue的内置组件,能在组件切换过程中将状态保留在内存中,防止重复渲染DOM.结合vue-router中使用,可以缓存某个view的整个内容. 1.在App.vue中添加配 ...
- eslint 代码规范2
eslint 规则修改 需要修改规则:文件[.eslintrc.js] 在句末是不能有分号的,若想加分号, 报错: 添加代码: 'semi': ['error', 'always'] 不要使用制表符. ...
- sap component 导航 链接
1: 定义一个导航链接名字,这个名子如果在程序中遇到(该名字会在程序中使用),就会触发这样一个导航. 导航有两个view,一个原来的view,一个出发abc之后的target view,也就是目标视图 ...
- 通过thriftserver的beeline/jdbc等方式连接到SparkSQL
thriftserver和beeline的简单配置和使用启动thriftserver: 默认端口是10000 ,可以修改 $ ./${SPARK_HOME}/sbin/start-thriftserv ...
- 实习培训——Java异常处理(8)
实习培训——Java异常处理(8) Java 异常处理 异常是程序中的一些错误,但并不是所有的错误都是异常,并且错误有时候是可以避免的. 比如说,你的代码少了一个分号,那么运行出来结果是提示是错误 j ...