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

第一部分,对象入门

作者先给我们介绍了一些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/archive/2011/07/28/2119677.html

Beginning C# Objects 读书笔记(一)相关推荐

  1. 《Beginning Perl》读书笔记3:6~10章

    第6章:子过程/函数 声明:subfunction_name; 定义:subfunction_name {...} 函数调用同C: example_subroutine();或example_subr ...

  2. 《Deep Learning With Python second edition》英文版读书笔记:第十一章DL for text: NLP、Transformer、Seq2Seq

    文章目录 第十一章:Deep learning for text 11.1 Natural language processing: The bird's eye view 11.2 Preparin ...

  3. 《Java: The Complete Reference》等书读书笔记

    春节期间读了下<Java: The Complete Reference>发现这本书写的深入浅出,我想一个问题,书中很多内容我们也知道,但是为什么我们就写不出这样一本书,这么全面,这么系统 ...

  4. oracle直查和call哪个更快,让oracle跑的更快1读书笔记二

    当前位置:我的异常网» 数据库 » <>读书笔记二 <>读书笔记二 www.myexceptions.net  网友分享于:2013-08-23  浏览:9次 <> ...

  5. 《Essential C++》读书笔记 之 泛型编程风格

    <Essential C++>读书笔记 之 泛型编程风格 2014-07-07 3.1 指针的算术运算(The Arithmetic of Pointer) 新需求1 新需求2 新需求3 ...

  6. pro git读书笔记

    pro git读书笔记 起步 三种区域以及三种状态 Git 项目有三个工作区域的概念:工作目录,暂存区域以及Git 仓库 工作目录是我们用来修改文件的目录,是对项目的某个版本独立提取出来的内容 暂存区 ...

  7. Spring读书笔记——bean创建(下)

    有关Spring加载bean系列,今天这是最后一篇了,主要接上篇对于从Spring容器中获取Bean的一些细节实现的补充. <Spring读书笔记--bean加载>--Spring如何加载 ...

  8. Linux设备驱动程序 第三版 读书笔记(一)

    Linux设备驱动程序 第三版 读书笔记(一) Bob Zhang 2017.08.25 编写基本的Hello World模块 #include <linux/init.h> #inclu ...

  9. 《SQL Server企业级平台管理实践》读书笔记——几个系统库的备份与恢复

    原文:<SQL Server企业级平台管理实践>读书笔记--几个系统库的备份与恢复 master数据库 master作为数据库的主要数据库,记录着SQL Server系统的所有系统级信息, ...

最新文章

  1. python 替换字符串中的元素
  2. 关于XDC约束文件,你需要知道的几点
  3. hbuilderx能开发vue吗_学会就能接项目!Vue + Spring Boot 实现全栈商城项目开发
  4. 基于 Nginx 的 HTTPS 性能优化实践
  5. linux下shell脚本论文,Linux下Shell脚本编程
  6. .NET手撸绘制TypeScript类图——下篇
  7. 04.卷积神经网络 W1.卷积神经网络
  8. 要素集获取要素_Excel点文件转面要素
  9. 相信自己, 许自己一个未来
  10. windows操作系统原理_操作系统 — 深入理解内存的原理
  11. MATLAB 超定方程组 最小二乘法
  12. python新年快乐代码_新年快乐! python实现绚烂的烟花绽放效果
  13. 冷藏温度范围_食品冷藏的温度是多少
  14. 笔记丨利用gitee创建个人博客网站
  15. NetFPGA-SUME10G以太网接口仿真问题
  16. MFC进修笔记2——MFC和Win32
  17. 【转】Android Protobuf应用及原理
  18. 在Maven项目中使用tk-mybatis(不结合SpringBoot)
  19. 多种方法解决计算机程序中出现.DLL文件丢失的问题
  20. 蒲月“登高”,临风眺望,旷视邀您共赴AI的下一个十年之约

热门文章

  1. 如何成为一名优秀的架构师
  2. 反思~我们是否应当克制对新技术的追求?
  3. 给你一份长长长的 Spring Boot 知识清单(上)
  4. equal、hashcode、==
  5. 框架:@Bean注解
  6. 10.线程池与连接池
  7. rust比java慢,rust为什么跑得比js慢
  8. 接口结构_适用于Mac系统的API接口调试应用
  9. 业界真的需要水下数据中心?微软的确认为如此
  10. eigrp配置实验_路由器 OSPF 动态路由配置