//封装就是将数据或函数等集合在一个个的单元中,我们称之为类,被封装的对象通常被称为抽象数据类型,
//封装的意义在于保护或防止代码被我们无意中破坏,
//封装既可以封装成员变量,又可以封装成员方法,
//封装成员变量步骤:
//新建类,面向对象最基本单元就是类,即.cs文件,像一个文本文档里面放置C#代码,创建的类默认访问修饰符为internal,隐藏显示,
//写构造函数,类的基本结构是构造函数,每一个类都有一个构造函数,默认隐藏,访问修饰符必须是public,并且不需要写任何返回值,方法名与类名一致,
//向类中填写信息,将成员变量访问修饰符声明为private后外界无法访问,声明访问修饰符为public的属性,Ctrl+R+E,

原文链接:https://www.cnblogs.com/qq450867541/p/6108019.html

//继承是类之间建立一种相交的关系,使得新定义的派生类的实例可以继承已有基类的特征并且还可以添加新的功能,
//继承特点:
//派生类是对基类的扩展,派生类可以添加新的成员,但不能移除已经继承的成员的定义,
//继承是可以传递的,如果C从B中派生,B又从A中派生,那么C不仅继承了B中声明的成员,同样也继承了A中声明的成员,
//构造函数和析构函数不能被继承,除此之外其他成员能被继承,基类中成员的访问方式只能决定派生类能否访问它们,
//派生类如果定义了与继承而来的成员同名的新成员,那么就可以覆盖已继承的成员,但这并不是删除了这些成员,只是不能再访问这些成员,
//类可以定义虚方法、虚属性及虚索引指示器,它的派生类能够重载这些成员,从而使类可以展示出多态性,
//派生类只能从一个类中继承,可以通过接口来实现多重继承,

//继承时先执行父类构造函数,接着再执行子类构造函数,最后再执行方法,
//在派生类中访问基类中的成员一般有2种方式,一是调用base.<成员> 调用基类的方法,二是显示类型转换为父类,
//当派生类需要覆盖基类的方法时,C#使用new修饰符来实现隐藏基类成员,
//密封类,如果对类不作任何约束,也就是说所有类都可以被继承,这种继承的滥用会导致类的层次结构十分庞大,类与类之间的关系会变得很乱导致无法理解,因此C#提供了密封类,只需在父类前加上sealed修饰符,这个类就不能被继承了,密封方法也是在方法前加上sealed修饰符,
//抽象类和密封类刚好相反,它是为继承而生的,抽象类不能实例化,抽象方法没有具体执行代码,必须在非抽象的派生类中重写,也就是基类并不实现任何执行代码,只是进行定义,这一点和接口有相同的地方,
//如果类中有抽象方法,则类必须声明为抽象类,
//有时候不想把类声明为抽象类,但又想实现方法在基类里不具体实现,而是想实现方法由派生类重写,遇到这种情况时可使用virtual关键字将方法声明为虚方法,
//注意虚方法必须声明方法主体,抽象方法则不需要,
//在继承时,如果基类构造函数是有参数的,子类构造函数也必须有一个有参数的构造函数,否则会报错,

原文链接:https://www.cnblogs.com/fangyz/p/5271780.html

//多态

原文链接:

https://www.cnblogs.com/longteng1991/archive/2013/06/13/3131739.html
https://www.cnblogs.com/zhangkai2237/archive/2012/12/20/2826734.html
https://www.cnblogs.com/binyao/p/4891306.html
https://www.cnblogs.com/loveyue/archive/2009/04/19/1439025.html

C#面向对象详解的更多相关文章

  1. Java面向对象详解

    Java面向对象详解 前言:接触项目开发也有很长一段时间了,最近开始萌发出想回过头来写写以前学 过的基础知识的想法.一是原来刚开始学习接触编程,一个人跌跌撞撞摸索着往前走,初学的时候很多东西理解的也懵 ...

  2. JS 面向对象详解

    面向对象详解1 OO1.html <!DOCTYPE html> <html> <head> <meta charset="utf-8" ...

  3. java之面向对象详解

    #############java面向对象详解#############1.面向对象基本概念2.类与对象3.类和对象的定义格式4.对象与内存分析5.封装性6.构造方法7.this关键字8.值传递与引用 ...

  4. php开发面试题---php面向对象详解(对象的主要三个特性)

    php开发面试题---php面向对象详解(对象的主要三个特性) 一.总结 一句话总结: 对象的行为:可以对 对象施加那些操作,开灯,关灯就是行为. 对象的形态:当施加那些方法是对象如何响应,颜色,尺寸 ...

  5. C#基础-面向对象详解

    面向对象详解 一.什么是面向对象 1>面向对象是一种程序设计思想 2>面向过程和面向对象是什么? 例如要把大象放冰箱怎么做? 面向过程:打开冰箱门->把大象扔进去->关上冰箱门 ...

  6. Python面向对象详解

    Python面向对象的"怜人之处" Python的待客之道--谁能进来 Python的封装--只给你想要的 Python的继承--到处认干爹 Python的多态--说是就是

  7. javascript面向对象详解

    认识面向对象 1.面向对象中的概念 一切事物皆对象 对象具有封装和继承特性 信息隐藏 2.基本面向对象 3.函数构造器构造对象 深入了解面向对象 第一种书写格式 第二种书写格式

  8. javascript的面向对象详解

    每次说到javascript到面向对象,总感觉自己心里懂,但是却不知道该怎么说,这就是似懂非懂到表现,于是乎,每次一说,就要到处去查找资料,零零碎碎到看了一些,感觉有懂了,但是过段时间,好像又不知道是 ...

  9. Python 面向对象详解

    Python从设计之初就已经是一门面向对象的语言,正因为如此,在Python中创建一个类和对象是很容易的.本章节我们将详细介绍Python的面向对象编程. 如果你以前没有接触过面向对象的编程语言,那你 ...

  10. PHP面向对象详解:继承、封装与多态

    首先,在解释面向对象之前先解释下什么是面向对象? [面向对象]1.什么是类? 具有相同属性(特征)和方法(行为)的一系列个体的集合,类是一个抽象的概念2.什么是对象?从类中拿到的具有具体属性值得个体, ...

随机推荐

  1. CSS 对于grid布局的理解,举例代码及解释

    网格布局介绍: CSS Grid(网格) 布局(又称为 “Grid(网格)” ),是一个二维的基于网格的布局系统它的目标是完全改变我们基于网格的用户界面的布局方式.CSS 一直用来布局我们的网页,但一 ...

  2. How to collect TLOG usage status automatically ?

    Yes , in SQLSERVER, we use "DBCC sqlperf(logspace)" to check transaction logfile status.Bu ...

  3. redis命令总结与持久化

    上篇redis文章为大家介绍了redis与它的部署工作.这次我们来说一下redis的操作命令与持久化 一.命令总结 1)String操作 6379> set k1 v1 #设定值 6379> ...

  4. Apache 相关 mod_rewrite ,RewriteCond,{HTTP_HOST}

    1.给子域名加www标记  RewriteCond %{HTTP_HOST} ^([a-z.]+)?example\.com$ [NC] RewriteCond %{HTTP_HOST} !^www\ ...

  5. win 8.0.12

    一.下载 下载页面http://dev.mysql.com/downloads/mysql/ 选择系统平台后,点击download(根据系统选择64或32位) 二.配置 1.下载成功后,解压安装包到要 ...

  6. H5页面优化

    1. 页面优化 优化内容: 提升网页响应速度:减少请求,文件大小,页面性能 对搜索引擎,屏幕阅读器友好: 提高可读性,可维护性:规范代码 优化操作: 减少请求:小图标使用sprite拼图合并为一个图片 ...

  7. [Python]pip 国内源

    临时使用方法 pip install -i http://pypi.douban.com/simple/ --trusted-host pypi.douban.com celery END

  8. HTTP下帐号密码的截取

    用到工具: arpspoof     -->>IP欺骗 ettercap     -->>抓包 攻击者:192.168.100.110 kali 实验者:192.168.100 ...

  9. HTML页面缓存

    引出问题: 在做完一个项目迭代上线的时候遇到一个问题:Ht代码部署在nginx里面,当我打包的H5代码上传把之前代码替换掉之后,如果手机端之前有打开过相关的页面,那么在代码上传成功后再次打开,回出现一 ...

  10. centos7配置Logstash同步Mysql数据到Elasticsearch

    Logstash 是开源的服务器端数据处理管道,能够同时从多个来源采集数据,转换数据,然后将数据发送到您最喜欢的“存储库”中.个人认为这款插件是比较稳定,容易配置的使用Logstash之前,我们得明确 ...