抽象类/抽象方法

abstract  抽象的数据类型

抽象类不能被实例化

抽象类中不一定存在抽象方法

抽象方法一定是在抽象类中

抽象类里可以放任意的方法

接口

interface

不是类,就是用来当爹的

接口中不能有任何实质性的方法

所有的方法都是抽象的

不需要访问修饰符,所有的方法全是public的

object   是所有数据类型的祖宗

is as 类型转换运算符

(类型)对象    强制转换,如果转换不成功,则抛出异常

is   判断某个对象或变量是否是某个类型   返回的是True 或者 False

as 类型转换,如果某个对象能转换成某个类型,那么它会进行转换,如果无法转换成目标类型,那么它会返回一个null,不会抛出异常

var 万能变量

dynamic   动态类型

泛型  <T>

最常用的就是泛型集合

List<string> a = new List<string> { };

类库

可以保密的类文件

委托

delegate  函数的指针

委托变量的类型必须与方法的结构一致

委托变量在赋值时,赋值的方法不需要写后面的小括号

C# 面向对象多态的抽象性&接口 object&is as类型转换运算符的更多相关文章

  1. Python之面向对象多态

    Python之面向对象多态 多态与多态性: 多态: 多态是指一类事物有多种形态,一个抽象类有多个子类,因而多态的概念依赖于继承. 1.序列类型有多种形态:字符串.列表.元组. 2.动物有多种形态:Pe ...

  2. 面向对象—多态、鸭子类型(Day21)

    编程原则java具有自己的编程原则和设计模式,不能多继承.python的编程原则:1.开放封闭原则:开放是对扩展是开放的,封闭是对修改是封闭的(已经写完的代码程序是不能修改的).2.依赖倒置原则:高层 ...

  3. [.net 面向对象编程基础] (16) 接口

    [.net 面向对象编程基础] (16) 接口 关于“接口”一词,跟我们平常看到的电脑的硬件“接口”意义上是差不多的.拿一台电脑来说,我们从外面,可以看到他的USB接口,COM接口等,那么这些接口的目 ...

  4. OC面向对象—多态

    OC面向对象—多态 一.基本概念 多态在代码中的体现,即为多种形态,必须要有继承,没有继承就没有多态. 在使用多态是,会进行动态检测,以调用真实的对象方法. 多态在代码中的体现即父类指针指向子类对象. ...

  5. OC面向对象—多态

    OC面向对象—多态 一.基本概念 多态是基于继承的基础之上的,多态可以使得父类的指针指向子类的对象.如果函数或参数中使用的是父类类型,可以传入父类.子类对象,但是父类类型的变量不能直接调用子类特有的方 ...

  6. 李洪强iOS开发之OC面向对象—多态

    OC面向对象—多态 一.基本概念 多态在代码中的体现,即为多种形态,必须要有继承,没有继承就没有多态. 在使用多态是,会进行动态检测,以调用真实的对象方法. 多态在代码中的体现即父类指针指向子类对象. ...

  7. java接口,接口的特性,接口实现多态,面向接口编程

    package cn.zy.cellphone; /**接口是一种引用数据类型.使用interface声明接口,形式 * 形式:public interface 接口名称{} * 接口不能拥有构造方法 ...

  8. 【基础】Equal方法、面向对象-多态-继承-封装

    package Test; public class L3_1 { public static void main(String[] args) { C c1=new C(100); C c2=new ...

  9. Java面向对象-------多态总结

    1.多态:是同一个行为具有多个不同表现形式或形态的能力. 多态就是同一个接口,使用不同的实例而执行不同操作,如图所示: 多态性是对象多种表现形式的体现. 2.多态作用: 1. 消除类型之间的耦合关系 ...

随机推荐

  1. C# winform调用类似按钮点击的事件时自带参数该怎么写

    //按钮事件 private void btn_Click(object sender, EventArgs e) {} //自己的函数 private void myFunc() { //程序中其他 ...

  2. win7 64位环境下,为python2.7 安装pip

    第一步: 安装python并配置好环境变量 参见:http://blog.csdn.net/donggege214/article/details/52062855 第二步: 下载setuptools ...

  3. 如何查看Centos版本

    使用命令 cat /etc/centos-release 查看效果如下图 当然,你也可以查看红帽的版本 cat /etc/redhat-release 郴州软件开发培训 郴州软件培训 郴州java培训 ...

  4. ajax(Asynchronous JavaScript and XML) 异步js或者xml

    1.XMLHttpRequest 对象:向服务器发送局部的请求,异步获取执行 a.浏览器支持 b.语法: xmlhttp==new XMLHttpRequest(); xmlhttp.open(&qu ...

  5. XAF实现交叉分析

    如何实现如图的交叉分析? In this lesson, you will learn how to add the Analysis functionality to your applicatio ...

  6. ionic4 refresh组件位置变更:Ignored attempt to cancel a touchmove event with cancelable=false

    io3 中 refresh组件位置可不定: io4 中 须置顶,否则报错,此外complete方法的调用位置改为target属性 参考:https://github.com/ionic-team/io ...

  7. flask总结03

    一:flask的请求勾子 01:钩子概念说明: 在客户端和服务器交互的过程中,有些准备工作或扫尾工作需要处理,比如: 在请求开始时,建立数据库连接: 在请求开始时,根据需求进行权限校验: 在请求结束时 ...

  8. 007 Android 单击事件、toast使用

    第一种按钮点击事件(最常用): button=findViewById(R.id.button); button2=findViewById(R.id.button2); button.setOnCl ...

  9. Linux系统下Qt环境搭建

    http://www.linuxidc.com/Linux/2013-07/87576.htm 主要是需要提前安装一些动态库,否则编译的时候会出现 /usr/bin/ld: cannot find - ...

  10. Notepad++ 代码格式化插件

    UniversalIndentGUI 是一个代码格式化工具合集,基于很多开源的代码格式化项目.有NPP的插件版也有独立的程序,支持常见代码格式. 支持的代码格式: C, C++, C#, Cobol, ...