C#复习之面向对象>2015.12.23

首先要知道面向对象的三大特征

  • 封装

在程序开发中,可以理解为方法封装常用的代码,类封装常用的方法。

这样做的好处在于:

第一:减少代码冗余,让代码更有条理。

第二:不需要知道方法底层如何实现,只需要掌握如何调用方法的方式即可。

  • 继承

继承用来解决类与类之间的代码冗余,将通用的属性和函数写到父类,子类继承自父类会继承父类的所有属性和函数,继承支持实现继承和接口继承。

  • 多态

将不同的子类对象都当做父类来看,屏蔽所有子类之间的差异,实现代码的通用,以适应需要的不断改动。

其次要了解面向对象的五大特性

  • 单一职责原则:一个对象应该只包含一个单一的职责,并将该职责完整的封装在一个类中。如果一个类被封装了过多的职责,那么这些职责在并发执行时会互相干扰。
  • 开放封闭原则:开发中对应用程序的扩展开放,对代码的修改封闭。
  • 依赖倒转原则:高层模块不该直接依赖低层模块,正确的方式应该是依赖抽象。
  • 里氏替换原则:子类能够替换到父类。
  • 接口隔离原则:客户端不该依赖于它不需要的接口,否则会造成代码的臃肿,冗余。
时间: 2024-10-04 13:54:46

C#复习之面向对象>2015.12.23的相关文章

2015.12.23

我是一个建筑工程师,每天的上班时间是早上八点到晚上七点,现在在新加坡上班,我要挑战自己,在两年的时间内做到1%的数据分析,数据挖掘专家.我的大多数的学习都是自学完成,学习时间是零散而不固定的,除了周末的一天半时间,工作时间内,我也会尽量的抽取有限的时间去完成每天的自我安排的任务.今天是我学习开始的第二个星期,这周六要去徒步绕新加坡海岸线一圈,全长120KM,用时24小时.还好,周五是圣诞节,不用做工,我可以整天泡在图书馆.我今天学习的内容是R语言的数据类型,数据提取编辑输出.以及看了深入浅出数据

[.net 面向对象程序设计进阶] (23) 团队开发利器(二)优秀的版本控制工具SVN(上)

[.net 面向对象程序设计进阶] (23) 团队开发利器(二)优秀的版本控制工具SVN(上) 本篇导读: 上篇介绍了常用的代码管理工具VSS,看了一下评论,很多同学深恶痛绝,有的甚至因为公司使用VSS离职的.其实使用什么代码管理工具要看项目而定.毕竟使用何用代码管理工具,是项目管理者根据需要来决定的,如果你是一个开发人员,首先要让自己的技术精进一点.下面根据我个人理解,把这几种常见的代码管理工具使用场景简单介绍一下. 1.几种代理管理工具的适用场景 A.如果你的项目是5-6人的小团队,那么使用

[.net 面向对象编程基础] (23) 结束语

[.net 面向对象编程基础] (23)  结束语 这个系列的文章终于写完了,用了半个多月的时间,没有令我的粉丝们失望.我的感觉就是一个字累,两个字好累,三个字非常累.小伙伴们看我每篇博客的时间就知道了,有多少个凌晨2.3点才完成的.其实在日常工作中用起来虽然比较容易,但要是真正的写出来,又要写的让初学者能看明白,真不是一件轻松的事情,其中里面有好多示例都要考虑如何写才能通俗易懂. 写这个系列的文章,有很多也是参考了博客园和网上的文章,没有一一列举出原作者和URL,在此表示感谢和歉意.但是我可以

12.16~12.23工作日志

12.16~12.23工作日志 2016.12.16 1.cick事件调用的函数中加入touchmove等事件会发生事件穿透,详情(http://www.tuicool.com/articles/6NfaUnM) 移动设备的click事件有300ms延迟,用于判断是否双击 2.ios设备会有一个默认的css样式,如input按钮在电脑上默认为方形,而在iPhone上默认为圆形,清除ipone默认样式方法: Input{-webkit-appearance:none;} 3.border-radi

分布式技术一周技术动态 2015.12.13

分布式系统实践 1. 关于分布式事务.两阶段提交协议.三阶提交协议 http://www.hollischuang.com/archives/681?hmsr=toutiao.io&utm_medium=toutiao.io&utm_source=toutiao.io 要点: 分布式系统的数据一致性一直以来就是分布式系统中最难解决的问题之一, 本文介绍了传统的2PC和3PC协议以及他们的缺点, 理解了2PC和3PC之后, 回过头来大家就能理解paxos协议的具备的里程碑式的重要意义了(当然

2015.12.29~2015.12.30真题回顾!-- HTML5学堂

2015.12.29~2015.12.30真题回顾!-- HTML5学堂 吃饭,能够解决饥饿,提供身体运作机能.练习就像吃饭,强壮自己,提升编程技能,寻求编程技巧的最佳捷径!吃饭不能停,练习同样不能停哦! HTML5真题[2015.12.29]题目 学习JavaScript或应用JavaScript进行脚本开发,“变量”这是必须要学会使用的.什么是变量呢?又什么作用呢?ok,大家稍安勿躁哦,试体验体验这题目<HTML5真题[2015.12.29]题目>与 <HTML5真题[2015.12

#VSTS日志# 2015/12/10 – 终于可以删除工作项了

最近的更新不少,废话少说,直接上干货 定制工作项字段 本周的更新后,所有的用户都可以在vsts上直接给工作项添加字段了,具体内容包括– 添加新字段(日期,字符串,整形,数字)– 字段显示位置配置– 过程模版继承– 过程模版安全性配置 很多人都知道,在vsts在线版上一直缺少工作项定制能力,这次的更新一定让很多人兴奋,但是我们的工作还没有完,后续我们会逐步完成字段下拉菜单,工作流配置,html字段,添加全新的工作项类型等功能.关于本功能的具体内容,请参考以下博客 http://devopshub.

【我的书】Unity Shader的书 — 文件夹(2015.12.21更新)

写在前面 感谢全部点进来看的朋友.没错.我眼下打算写一本关于Unity Shader的书. 出书的目的有以下几个: 总结我接触Unity Shader以来的历程,给其它人一个借鉴.我非常明确学Shader的艰难,在群里也见了非常多人提出的问题. 我认为学习Shader还是一件有规律可循的事情,但问题是中文资料难觅,而大家又不愿意去看英文...这对我有什么优点呢?强迫我对知识进行梳理,对细节问题把握更清楚. 第二个原因你懂的. 关于本书的定位问题: 面向Unity Shader刚開始学习的人,但要

2015.12.20-2015.12.25 大论文迭代 A

进一步充实大论文内容.结构,完善一遍大论文 12.20周天,完成论文第五章总结部分,和第一章的修改 12.21周一,完成论文第二章的修改充实 12.22周二,完成论文第三章的修改充实 12.23周三,完成论文第四章的修改充实 12.24周四,完成英文摘要 12.25周五,完成论文格式校验 前端拾遗:学习HTML的各个标签,css的各种描述