C#学习笔记_13_静态类&Sealed&运算符重载&抽象类
13_静态类&Sealed&运算符重载&抽象类
- 静态类
- 由static修饰的类就是静态类
- 特点:
- 静态类不能实例化对象
- 静态类中不允许写非静态的成员
- 静态类只能由一个父类Object
- 静态类不能继承自其他类也不能被继承
- 用处:
- 用来设计工具类
- Sealed关键字
- 密封
- 作用:
- 用来修饰类
- 叫做密封类,不能被继承
- 用来修饰方法
- 叫密封方法,不能被继续重写
- 只有override方法可以被密封
- 用来修饰类
- 运算符重载
- 通过特定的语法,使某些运算符都可以具备特殊的功能
- 关键字 operator
- 可以重载的运算符:
- 算术运算符:全部可以重载
- 赋值运算符:全部不能重载
- 关系运算符:全部可以重载
- 如果想重载关系运算符,那么必须要成对重载
- 如果重载了 >,必须重载 <
- 如果重载了 >=,必须重载 <=
- 如果重载了==,必须重载 !=
- 逻辑运算符:& | ! ^ 可以被重载,&& || 不可以
- 位运算符:~ & | 可以被重载
- 注意:
- 1、参数的数量一定要和这个运算符能够操作的数量匹配
- 2、参数类型和返回值类型可以随意设置,但是要合理
- 抽象类
- 用关键字abstract来修饰的类
- 特点:
- 1、不能实例化对象
- 2、抽象类中既可以写静态的成员,也可以写非静态的成员
- 3、抽象类可以被其他类继承,也可以继承自其他类
- 抽象方法
- 用abstract修饰的方法就是抽象方法
- 特点:
- 1、抽象方法使用abstract修饰,只有声明没有实现
- 2、抽象方法只能写在抽象类中
- 如果一个非抽象类继承自抽象类,那么子类必须实现父类中所有的抽象方法
- 用途
- 一种规范,用来约束所有的子类的行为
- 一种规范,用来约束所有的子类的行为
- 用关键字abstract来修饰的类
C#学习笔记_13_静态类&Sealed&运算符重载&抽象类的更多相关文章
- 【学习笔记】oracle 比较运算符,逻辑运算符,特殊运算符,判断空值,大小写敏感
比较运算符:> 大于,< 小于 >= 大于等于,<= 小于等于 = 等于,!=,<>,^= 不等于 逻辑运算符运算的优先顺序:NOT > AND > O ...
- JavaScript:学习笔记(8)——对象扩展运算符
JavaScript:学习笔记(8)——扩展运算符 对象的扩展运算符 扩展运算符是三个点(...).用于取出参数对象的所有可遍历属性,然后拷贝到当前对象之中. 如上图所示,新建了一个对象a,然后通过扩 ...
- 【c++ Prime 学习笔记】第14章 重载运算与类型转换
14.1 基本概念 重载的运算符是特殊的函数:名字由关键字operator后接要定义的算符共同组成,也有返回类型.参数列表.函数体. 重载运算符函数的参数量与该算符作用的运算对象数量一样多 除重载调用 ...
- Mysql学习笔记(三)运算符和控制流函数
本章学习内容: 1.操作符 2.控制流程函数 操作符: i.圆括号.. 简单的介绍一下圆括号,圆括号的使用的目的是规定计算表达式的顺序...这个想必大家都熟悉例如 mysql>select 1 ...
- Java学习笔记之:java运算符
一.介绍 计算机的最基本用途之一就是执行数学运算,作为一门计算机语言,Java也提供了一套丰富的运算符来操纵变量.我们可以把运算符分成以下几组: 算术运算符 关系运算符 位运算符 逻辑运算符 赋值运算 ...
- Java学习笔记17---成员方法的重载与重写
重载是指,一个类中定义了一个成员方法后,通过修改参数个数.参数类型或参数顺序,重新实现该方法,则这两个方法互为对方的重载方法. 重写是指,子类重新实现父类的成员方法. 重载后的方法,与原方法相比: ( ...
- C++学习笔记22,普通函数重载(1)
转载请注明出处:http://blog.csdn.net/qq844352155/article/details/31353325 该博文仅用于交流学习,请慎用于不论什么商业用途,本博主保留对该博文的 ...
- C++学习笔记 封装 继承 多态 重写 重载 重定义
C++ 三大特性 封装,继承,多态 封装 定义:封装就是将抽象得到的数据和行为相结合,形成一个有机的整体,也就是将数据与操作数据的源代码进行有机的结合,形成类,其中数据和函数都是类的成员,目的在于将对 ...
- Java学习笔记(三)——运算符
一.运算符: 1.分类: 2.java中的运算符 (1)其中,++在左,表示先加了再用,++在右,表示先用了再加. (2)% 用来求余数,也称为"取模运算符" 3.赋值运算符 4. ...
随机推荐
- Tiny4412 开发板 编译环境搭建【转】
本文转载自:http://blog.csdn.net/beijiwei/article/details/51055369 版权声明:本文为博主原创文章,未经博主允许不得转载. /*********** ...
- Kubernetes——基于容器技术的分布式架构领先方案,它的目标是管理跨多个主机的容器,提供基本的部署,维护以及运用伸缩
1.Kubernetes介绍 1.1 简介 Kubernetes是什么?首先,它是一个全新的基于容器技术的分布式架构领先方案.其次,它是一个开放的开发平台.最后,它是一个完备的分布式系统支撑平台.Ku ...
- [CF391E2]Three Trees
https://zybuluo.com/ysner/note/1246822 题面 有三棵树,建两条边让他们相连,最大化所有点对距离之和. \(40pts\ n\leq1000\) \(100pts\ ...
- input的type等于mage标签引发的页面提交!
主要原因是使用了<input type="image",而且放在了<form中. <input type="image"标签类似<inp ...
- Ansi2Utf8 小工具
将GB2312编码的文件转成Unity使用的UTF8无bom格式 主要用批处理执行 Ansi2Utf8.exe XXXXX.txt 源代码 using System; using System.Co ...
- [Swift通天遁地]四、网络和线程-(3)线程组:使用DispatchGroup(调度组)对线程进行分组管理
★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★➤微信公众号:山青咏芝(shanqingyongzhi)➤博客园地址:山青咏芝(https://www.cnblogs. ...
- 拼接html 的事件转义
attach += "<div style='line-height: 10px;float: left;margin-left: 10px;' id='attach_" + ...
- SQLServer局部变量和全局变量介绍05-29学习笔记
变量 数据在内存中存储可以变化的量叫变量.为了在内存中存储信息,用户必须指定存储信息的单元,并为了该存储单元命名, 以方便获取信息,这就是变量的功能.Transact-SQL可以使用两种变量,一种是局 ...
- BZOJ 3473
思路: CF原题 ZYF有题解 O(nlog^2n) //By SiriusRen #include <bits/stdc++.h> using namespace std; ; ]; i ...
- myeclipse配置tomcat后,无法正常使用的问题
如图所示:一定要设置为Enable.否则部署tomcat时,没有tomcat8.0