Beginning C# Objects 读书笔记(一)

总是在看完了一本书之后才会想起要记下些些东西,昨晚总算是把这本书看了个第二遍了,相比于第一遍,当然是学了不少的东西.

第一部分,对象入门

作者先给我们介绍了一些C#的优势.

C#是整合应用开发框架的一部分.被集成在微软的.NET Framework中..NETFrameWork是全新的革命性应用开发和运行环境管理平台.其核心要素之一就是公共语言运行时 common language runtime,CLR ,它负责管理C#程序的运行环境,装载和运行C#程序,并为C#程序提供支持服务.

通过公共语言规范common language specification,CLS,提供了不同语言之间的协同工作能力.定义了所有.NET语言都必须遵守的公共类型集和操作,让开发者能够把C#代码和使用其它语言编写的代码无缝集成到一起.对于使用规范的微软技术的机构,C#能很容易与其它微软组件集成.

.NET Farmework 还包含一个大型的库集合.集FCL,提供了在windows平台上开发应用程序所需要的几乎所有功能性元素.

C#语言是彻底的面向对象语言

C#中的一切都是对象

C#提供免费的编译器

好了,接下来是C#的一些基础知识

命名空间是一系列预定义C#编程元素的集合,

C#是一种强类型的编程语言,声明变量时必须同时声明其类型.

Camel命名法,首字母小写,后续的每个词首字母大写

在C#kh,变量被声明时并不同时被自动赋予初始值,在访问变量值前,必须明确地为其赋值,注意,这里跟类中的字段的初始化有点不一样.

Main方法的名称首字母必须大写.

把较低精度的值赋给具有较高精度的变量,称会宽化转换,会自动进行.

注意在C#中 Float y = 3.5 是不能通过编译的,因为3.5被看成是Double型.可以有以下几种方法来解决:

float y= (float ) 3.5;

float y = 3.5F;

switch 可以用 一个整数或者是string来用于case的比较.

对象:所谓对象,就是一种将状态(数据)和行为(操作)合成到一起的软件构造,是用来描述真实世界的一个(物理或概念性的)对象

抽象模型中的类描述了一组相似对象的共同特性.

Pascal命名法:每个单词第一个字母用大写

类是对象的模版

方法体中的逻辑定义了抽象模型的业务逻辑,业务逻辑也被称为业务规则

较好的编程习惯是在一个方法体中仅包含一个return语句,使用一个本地变量获取最后的结果.(其实这个我并不怎么同意,有时候在确认可以结果方法的时候,就应该以上跳出来,这样才不会在后面的逻辑的继续运行而导致出错)

调用对象X的方法,就对向对象X发送一条消息

方法头的信息最完整:void SwitchMajor(string newDepartment , Professor newAdvisor)

方法签名次之:SwitchMajor(string , Professor )

参数签名再次之:(string , Professor )

对果对象A为满足某个请求,而寻求另一对象B的帮助,这被称作是A对B的委托.

对B的访问有以下几种方法:

B是A的一个attribute;

B是A的某个方法中的参数;

B是一个全局变量;

A通过C找到了B引用;

关于客户代码,引起对象A执行一个方法的代码,称作A的客户代码.

只要有可能就调用类的访问器是一个比较好的习惯.

实体构造器分配足够的空间来容纳对象的attribute,从而构造一个全新的对象,注意,这里的空间大小只包括attribute.

如果没有为类声明一个构造器,那么C#会自动的为它提供一个缺省的无参构造器,并把对象中的attribute全部初始化为等价于零的值.

信息隐藏是一种强大的机制,它保护对对象数据的安全性,完整性,也能在应用程序的私有实现细节被不可避免地修改时防止客户代码出现连锁反应.

类与类之间结构关系的正式名称是"关联"

关联是创建链接的模板,在讨论关联时,经常将多元关联分解是多个二元关联.

聚合是一种特殊形式的关联,它指明了"包括","由...构成".某对象属于类A,那么类A就是聚合类.

如果类A中有一些特点不适用于类B,那么B就不应该是类A的派生类.

IEnumberator用来遍历群集的较为高级的方法.

在声明多维数组中的每个一维数组时,可以通过把初始值放置到花括号中的形式,来初始化所有元素必须使用new操作符,且必须指定数据类型.

多态是指两个或多个属于不同类型的对象,对同一个消息(方法调用)做出不同的响应的能力.

原文地址:https://www.cnblogs.com/laizhd/p/2119677.html