13_静态类&Sealed&运算符重载&抽象类

  • 静态类

    • 由static修饰的类就是静态类
    • 特点:
      • 静态类不能实例化对象
      • 静态类中不允许写非静态的成员
      • 静态类只能由一个父类Object
      • 静态类不能继承自其他类也不能被继承
    • 用处:
      • 用来设计工具类
  • Sealed关键字
    • 密封
    • 作用:
      • 用来修饰类

        • 叫做密封类,不能被继承
      • 用来修饰方法
        • 叫密封方法,不能被继续重写
        • 只有override方法可以被密封
  • 运算符重载
    • 通过特定的语法,使某些运算符都可以具备特殊的功能
    • 关键字 operator
    • 可以重载的运算符:
      • 算术运算符:全部可以重载
      • 赋值运算符:全部不能重载
      • 关系运算符:全部可以重载
        • 如果想重载关系运算符,那么必须要成对重载
        • 如果重载了 >,必须重载 <
        • 如果重载了 >=,必须重载 <=
        • 如果重载了==,必须重载 !=
      • 逻辑运算符:& | ! ^ 可以被重载,&& || 不可以
      • 位运算符:~ & | 可以被重载
    • 注意:
      • 1、参数的数量一定要和这个运算符能够操作的数量匹配
      • 2、参数类型和返回值类型可以随意设置,但是要合理
  • 抽象类
    • 用关键字abstract来修饰的类

    • 特点:
      • 1、不能实例化对象
      • 2、抽象类中既可以写静态的成员,也可以写非静态的成员
      • 3、抽象类可以被其他类继承,也可以继承自其他类
    • 抽象方法
      • 用abstract修饰的方法就是抽象方法
      • 特点:
        • 1、抽象方法使用abstract修饰,只有声明没有实现
        • 2、抽象方法只能写在抽象类中
          • 如果一个非抽象类继承自抽象类,那么子类必须实现父类中所有的抽象方法
    • 用途
      • 一种规范,用来约束所有的子类的行为

C#学习笔记_13_静态类&Sealed&运算符重载&抽象类的更多相关文章

  1. 【学习笔记】oracle 比较运算符,逻辑运算符,特殊运算符,判断空值,大小写敏感

    比较运算符:> 大于,< 小于 >= 大于等于,<= 小于等于 = 等于,!=,<>,^= 不等于 逻辑运算符运算的优先顺序:NOT > AND > O ...

  2. JavaScript:学习笔记(8)——对象扩展运算符

    JavaScript:学习笔记(8)——扩展运算符 对象的扩展运算符 扩展运算符是三个点(...).用于取出参数对象的所有可遍历属性,然后拷贝到当前对象之中. 如上图所示,新建了一个对象a,然后通过扩 ...

  3. 【c++ Prime 学习笔记】第14章 重载运算与类型转换

    14.1 基本概念 重载的运算符是特殊的函数:名字由关键字operator后接要定义的算符共同组成,也有返回类型.参数列表.函数体. 重载运算符函数的参数量与该算符作用的运算对象数量一样多 除重载调用 ...

  4. Mysql学习笔记(三)运算符和控制流函数

    本章学习内容: 1.操作符 2.控制流程函数 操作符: i.圆括号.. 简单的介绍一下圆括号,圆括号的使用的目的是规定计算表达式的顺序...这个想必大家都熟悉例如  mysql>select 1 ...

  5. Java学习笔记之:java运算符

    一.介绍 计算机的最基本用途之一就是执行数学运算,作为一门计算机语言,Java也提供了一套丰富的运算符来操纵变量.我们可以把运算符分成以下几组: 算术运算符 关系运算符 位运算符 逻辑运算符 赋值运算 ...

  6. Java学习笔记17---成员方法的重载与重写

    重载是指,一个类中定义了一个成员方法后,通过修改参数个数.参数类型或参数顺序,重新实现该方法,则这两个方法互为对方的重载方法. 重写是指,子类重新实现父类的成员方法. 重载后的方法,与原方法相比: ( ...

  7. C++学习笔记22,普通函数重载(1)

    转载请注明出处:http://blog.csdn.net/qq844352155/article/details/31353325 该博文仅用于交流学习,请慎用于不论什么商业用途,本博主保留对该博文的 ...

  8. C++学习笔记 封装 继承 多态 重写 重载 重定义

    C++ 三大特性 封装,继承,多态 封装 定义:封装就是将抽象得到的数据和行为相结合,形成一个有机的整体,也就是将数据与操作数据的源代码进行有机的结合,形成类,其中数据和函数都是类的成员,目的在于将对 ...

  9. Java学习笔记(三)——运算符

    一.运算符: 1.分类: 2.java中的运算符 (1)其中,++在左,表示先加了再用,++在右,表示先用了再加. (2)% 用来求余数,也称为"取模运算符" 3.赋值运算符 4. ...

随机推荐

  1. hdoj--2073--无限的路(数学规律)

     无限的路 Time Limit: 1000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) Total Su ...

  2. IP V4 和 IP V6 初识

    IP V4    是互联网协议的第四版 地址长度为32位,4字节,用十进制表示 格式为:A.B.C.D 最大的问题在于网络地址资源有限,严重制约了互联网的应用和发展 IP V6    是互联网协议的I ...

  3. PCB Winform使用谷歌webkit内核 应用

    我们Winfrom界面嵌入网页最常用的是WebBrowser控件,因为微软自带的,使用方便,但在实际使用起来,会遇到各种麻烦(JS,不兼容问题,渲染等问题) 而实际WebBrowser控件内核是微软的 ...

  4. yum 安装redis

    1.yum install redis 2.yum install php-redis 3service redis start chkconfig redis on

  5. php settype()和gettype()

    gettype()是获得变量的类型,settype()函数用来配置或转换变量类型.成功返回 true 值,其它情形返回 false 值.参数 var 为原来的变量名,参数 type 为下列的类型之一: ...

  6. Behavior Designer扩展

    BehaviorManager.instance.Tick(behaviorTree); 卸载update里u3d直接卡死 = = SharedVariable直接赋值会改变他的引用关系,必须用XXX ...

  7. 湖南集训day8

    难度:☆☆☆☆☆☆☆ /* 可以先考虑一维,可知 模k意义下相同的前缀和任意两个相减都是k的倍数 问题等价于统计前缀何种模k相同的数的对数. 多维的时候二维前缀和,压行或者压列,n^3可以解决. */ ...

  8. Unity项目 - 打砖块游戏

    基本功能:实现WASD进行视角在XY轴方向的移动,其次按下鼠标左键产生子弹bullet对面前的砖块cube进行碰撞. 主界面: 运行情况: 动态过程: 项目地址:BreakBricks 制作过程: 创 ...

  9. web安全:防止浏览器记住或自动填写用户名和密码(表单)的终极解决方案

    最近项目上要求做到这一点,在网上搜了一圈,发现都是不完美的,不兼容全部的浏览器,于是只能自己摸索了,最终得出了终极解决方案: 涉及: disabled 或 readonly display:none; ...

  10. $Vijos P1250$

    背包? 跑完并查集 分组背包完事 #include <bits/stdc++.h> #define rep(i,j,n) for(register int i=j;i<=n;i++) ...