(P7) 对象中的多态主要包括以下两种情况 —— 接口实现多态、抽象类实现多态;
(P11) 在子类中实现虚函数的方式,称为方法的动态绑定;
(P15)
关注对象原则:调用子类还是父类的方法,取决于创建对象是子类对象还是父类对象,而不是它的引用类型;
执行就近原则,对于同名字段或者方法,编译器是按照其顺序查找来引用的,也就是首先访问离它创建最近的字段或者方法;
(P17)
聚合分为三种类型 —— 无聚合、共享、复合 (其耦合度逐级递增)
聚合关系是一种 has-a 式的关系,耦合度没有继承关系高;
(P18) 面向对象的基本原则 —— 多聚合,少继承、 低耦合,高内聚;
(P25) 只读字段只能在构造函数中被赋值;
(P42) 动态绑定在运行期通过检查虚拟方法表来确定动态关联覆写的方法,一般以继承和虚方法来实现;
(P56) “美的东西比丑的东西创建起来更廉价,也要更快捷。”
(P58)
—— 设计原则 ——
1.
设计原则: 单一职责原则
英文表达: SRP - Single Responsibility Principle
说 明: 一个类应该仅有一个引起它变化的原因,不要将变化原因不同的职责封装在一起,而应该分离;
2.
设计原则: 开放封闭原则
英文表达: OCP - Open Closed Principle
说 明: 软件实体应对修改关闭,对扩展开放;
3.
设计原则: 依赖倒置原则
英文表达: DIP - Dependency Inversion Principle
说 明: 依赖于抽象,而不要依赖于具体,因为抽象相对稳定;
4.
设计原则: 接口隔离原则
英文表达: ISP - Interface Segregation Principle
说 明: 尽量应用专门的接口,而不是单一的总接口,接口应该面向用户,将依赖建立在最小的接口上;
5.
设计原则: Liskov替换原则
英文表达: LSP - Liskov Substitution Principle
说 明: 子类必须能够替换父类;
6.
设计原则: 合成/聚合复用原则
英文表达: CARP - Composite Aggregate Reuse Principle
说 明: 在新对象中聚合已有对象,使之成为新对象的成员,从而通过操作这些对象达到复用的目的。合成方式较继承方式耦合更松散,所以应该少继承、多聚合;
7.
设计原则: 迪米特法则
英文表达: LOD - Law of Demeter
说 明: 又叫最少知识原则,指软件实体应该尽可能少的和其他软件实体发生相互作用;
(P60) SRP原则的核心就是要求对类的改变只能是一个,对于违反这一原则的类应该进行重构;
(P71)
拒绝滥用抽象,只将经常变化的部分进行抽象;
将容易变化的因素进行抽象处理,可以改善类的内聚性;
(P75) 原则是不变的,而方法是灵活的;
(P127)
Convert —— 提供了灵活的类型转换封装;
Parse —— 适用于将字符串转换为其他的基本类型;
(P128) 值类型实例对象要么在堆栈上,要么内联在结构中;
(P132)
值类型实例总是分配在它声明的地方,声明为局部变量时其被分配在堆栈上,声明为引用类型成员时其被分配到托管堆上;
引用类型实例化则总是分配在托管堆上;
(P134) 值类型都继承自 System.ValueType ,而 System.ValueType 又继承自 System.Object ,其主要区别是 ValueType 重写了 Equals 方法,实现对值类型按照实例值比较而不是引用地址来比较;
(P136) MSDN 中建议以类型的大小作为选择值类型或者引用类型的决定性因素;
(P153)
引用类型参数的按值传递,传递的是参数本身的值;
引用类型参数的按引用传递,传递的是参数的地址;
(P155) 不管是值类型还是引用类型,按引用传递必须以 ref 或者 out 关键字来修饰;
(P159)
装箱就是值类型数据转化为无类型的引用对象;
拆箱就是获取已装箱对象中来自值类型部分字段的地址;
装箱和拆箱并非完全对称的互逆操作,拆箱在执行上并不包含字段的拷贝过程;
(P163) 拆箱必须保证执行后的结果是原来未装箱时的类型,否则将抛出 InvalidCastException 异常;
(P174)
堆栈主要由操作系统管理,而不受垃圾收集器的控制,当值类型实例所在方法结束时,其存储单位自动释放。栈的执行效率高,但存储容量有限;
GC对,用于分配小对象实例。如果引用类型对象的实例大小小于85000字节,实例将被分配在GC堆上;
LOH (Large Object Heap)堆,用于分配大对象实例;
(P194) 任何重写了 Finalize 方法的类型实例都应实现 Dispose 方法,来实现更加灵活的资源清理控制;
(P201) CLR 在设计上为了提升 string 类型性能考虑,实现了一种称为“字符串驻留”的机制,从而实现了相同字符串可能共享内存空间;
(P217)
base 关键字 —— 调用基类上已被其它方法重写的方法、指定创建派生类实例时应调用的基类构造函数;
this 关键字 —— 限定被相似的名称隐藏成员、将对象作为参数传递到其它方法、声明索引器;
(P223) base 是为了实现多态而设计的;
(P256) const 常数在定义时必须指定初始值;
(P257) 静态只读字段的初始化,必须在定义时或者静态无参构造函数中执行;
(P267) struct 没有自定义的默认无参构造函数,默认无参构造函数只是简单地把所有值初始化为它的0等价值;
(P277) DllImport 特性,可以引入对 Win32 API 函数的调用;
(P290)
1. 如果预计要创建组件的多个版本,则创建抽象类。抽象类提供简单易行的方法来控制组件版本。通过更新基类,所有继承类都随更改自动更新。另一方面,接口一旦创建就不能更改。如果需要接口的新版本,必须创建一个全新的接口;
2. 如果创建的功能将在大范围的全异对象间使用,则使用接口。抽象类应主要用于关系密切的对象,而接口最适合为不相关的类提供通用功能;
3. 如果要设计小而简练的功能块,则使用接口。如果要设计大的功能单元,则使用抽象类;
4. 如果要在组件的所有实现间提供通用的已实现功能,则使用抽象类。抽象类允许部分实现类,而接口不包含任何成员的实现;
(P297) .NET 2.0 引入泛型技术,使得相同的参数列表、相同的返回值类型的情况也可以构成重载;
(P301)
使用 override 表示覆写基类成员,实现派生类自己的版本;使用 new 表示隐藏基类的虚方法,也就是该方法独立于基类的方法;
派生类方法如果未被定义为 override 或 new ,则编译器将发出警告,并默认定义为带 new 的方法;
(P313) 静态构造函数,只能对静态成员进行初始化操作,不能作用于非静态成员;而实例构造函数,可以初始化实例成员,也可以初始化静态成员,但是静态只读字段除外;
(P329)
Dictionary<TKey, TValue> 泛型类对应于 Hashtable 类;
List<T> 泛型类对应于 ArrayList 类;
SortedList<T> 泛型类对应于 SortedList 类;
(P370) Enum.Parse() —— 间接完成整数类型向枚举类型的转换;
(P407) 技术的学习在于应用而不在于全面;
(P418) StreamReader 和 StreamWriter —— StreamReader 以特定编码从字节流中读取字符, StreamWriter 以特定的编码向流中写入数据,它们的默认编码均为 UTF-8 格式;
分享到:
相关推荐
本项目“swift-模仿书摘中心的展开按钮封装的一个控件”就是这样一个例子,它模仿了书摘中心的展开按钮效果,提供了一个轻量级且易于使用的解决方案。尽管该控件不支持通过CocoaPods进行集成,但可以直接下载源代码...
例如,你可以将整理好的书摘分享到社交媒体,或者与朋友共享,激发更多思考和讨论。 总的来说,【多看Kindle书摘导出工具】是提升阅读体验和知识管理的有效辅助工具,它简化了书摘的整理过程,让知识的收集和利用变...
《编写高质量代码 Web前端开发修炼之道》是一本深入探讨前端开发实践与技巧的书籍,旨在提升Web应用的质量和可维护性。书中强调了遵循Web标准的重要性,这些标准主要分为结构、样式和行为三大部分。...
【标题】:“初中语文文摘文苑微书摘”与我们探讨的是人生哲理与科学思考,虽然表面上看似与IT技术无关,但其中蕴含的思维方式和观察问题的角度对IT从业者同样具有启示作用。 【描述】:“初中语文文摘文摘”暗示了...
《BookSnippets:快速存储书摘的开源应用详解》 BookSnippets是一个高效且便捷的工具,专为读书爱好者和学生设计,旨在帮助他们更好地管理、检索和分享书中的精彩片段。这款应用采用Python编程语言,结合Tkinter...
【标题】中山大学软件创新大赛十强参赛项目:一款很棒的书摘软件微信小程序 【描述】这款软件是中山大学软件创新大赛中的优秀作品,它以其出色的功能和用户体验,成功进入了大赛的十强行列。作为一款书摘软件,它...
2021年读书-《心智、知识与道德》书摘:社会主义计算大论战.docx
全新思维的书摘,看看别人怎么解读这本书,希望能对您有点帮助
### WPF in Action 书摘知识点总结 #### 资源(Resource)的使用与查找路径 **资源**是WPF应用程序中的一个核心概念,它允许开发者以一种灵活且可复用的方式管理各种UI元素,如颜色、字体、图像等。 ##### 查找路径...
初中语文文摘生活名人名言解读_书摘
韦尔奇新着《赢》经典书摘.EXE
笔耕不辍 · 方得始终 高效全能的读书笔记管理工具,读书爱好者的最佳读书伴侣 汇聚不同设备的书 Kindle 设备 Kindle App Kindle Cloud ...为你喜爱的书摘和笔记制作精美的图片,并分享至您的社交网络
以下是从书摘中提炼的知识点: ### 基础篇 1. **第一个iOS应用程序**:书中首先介绍了如何使用Xcode创建一个简单的“HelloWorld”程序,涵盖了工程模板的选择、应用的运行机制和生命周期、视图控制器的生命周期...
书摘
而《初中语文文摘文苑微言与书摘》正是一本为青少年精心挑选的文章集合,它不仅涵盖了生活的方方面面,也反映出作者们对世界深刻的洞察和感悟。通过阅读这些文摘,初中生能够对人生的多样性和复杂性有一个初步的理解...
《趁年轻 折腾吧》ppt书摘 @刘健亮PPT模板.pptx
通过《趁年轻 折腾吧》的PPT书摘和读书笔记,我们可以更直观地理解和吸收这些知识点,将作者的理念融入到自己的生活和工作中,激发自己的潜力,创造更加精彩的人生。而51pptmoban.com这个文件名可能是指一个提供PPT...
一些从B站上看到的喜欢的句子,就摘抄下来保存留作纪念。