C#学前热身

原创 2015年11月18日 10:10:34

面向对象程序设计基础

面向过程

打个比方:药店店员允许顾客自己去配中药,顾客会觉得不方便,而且可能会将原本井井有条的药品库搞乱。

理想的状态应该是:药品库对外人是不可以进入的,顾客买药的时候只要将需求告诉店员,店员取出药品包好送给顾客。

从而抽象出以下理想的外界访问数据源的方式:外界调用函数→数据被函数按照指定格式包装→函数将数据传给外界

面向对象


>类和对象

对象的三个特征:标识(对象名)、状态(即属性,静态特征)、行为(即提供的服务,动态特征)

构造方法(函数):负责在分配对象的存储空间的时候,输入对象的数据,即初始化一个对象

析构方法(函数):对象的生命期结束后,系统回收分配给对象的各种资源的过程


>抽象和封装

抽象:是对成员的分析和重新认识

封装:是成员重新组织的表现(换言之,封装的是数据和方法)

>类与类的关系

接口:产生原因:解决继承中的二义性问题

共同协作:对象请求——对象服务

消息机制:请求的格式、发出、传递、接收、回复(反映了调用对象的动态特征),故:面向对象程序=对象+消息

聚合:两个或多个对象间的协作关系

嵌套:在一个类中定义另一个类

>多态

多态:同一事物在不同场合具有不同作用的现象,即形式相同,实际动作不同(例如:我们继承了祖先理发这一行为,但是实际怎么理发,却需要重新定义)

按照发生的时机区分;编译时的多态、运行时的多态(只有运行时的多态才是真正的多态)

重载:指的是定义一个新方法,前提是在相同的作用域中已经存在相同的方法名的方法,重载的方法的差别在于方法的参数的数量和类型不同

隐藏:派生类中性定义的成员隐藏了基类中的同名成员

重写(覆盖):基类中的方法声明为虚方法,派生类继承了它,又同时改写了方法体中的程序(例如:理发的例子)

>关联、消息和委托

关联:执行过程中对象与对象的协作关系,是业务流程的体现,即:一个关联体现了一种业务关系

委托:解决如何在运行时动态决定消息接受者的机制


VS.NET简介

1、是提供开发环境的开发平台

2、核心是.NET框架

3、.NET类库又称基础类库(BCL),主要部分;数据结构、I/O管理、数据库访问、多线程、远程访问、反射……

4、开发.NET应用程序常用的环境有两个:SDK(软件开发工具包)和IDE(集成开发环境)

5、最大特色:支持跨语言集成,原因:(1)代码重用;(2)安全性;(3)跨操作系统


6、托管代码:由公共语言运行库环境(而不是直接由操作系统)执行的代码。托管代码应用程序可以获得公共语言运行库服务,例如自动垃圾回收、运行库类型检查和安全支持等。这些服务帮助提供独立于平台和语言的、统一的托管代码应用程序行为


7、程序集:
(1)具有一定的边界和进入边界的许可检查和授予机制;
(2)在一个程序集中的类型名只在该程序集中有效;
(3)形成了引用的边界;
(4)是最小的版本单位,也是可部署的最小单位

8、CLR、CLS和CTS
——CLR:公共语言运行库,运行代码并提供各种服务(托管代码在CLR上能充分享受到跨语言集成、跨语言异常处理、严格的安全措施、版本管理、便捷的部署、组件交互、错误检测和概要文档服务

——CLS:公共语言规范,是规则和约束,保证了用不同编程语言编写的类型之间的可交互操作性

——CTS:通用类型系统,内置在公共语言运行库中的类型系统,它支持大多数编程语言中存在的类型和操作,CTS定义的类型系统必须是完整的、面向对象的、能够被CLR正确的理解和执行。

  
版权声明:本文为博主原创文章,未经博主允许不得转载。 举报

相关文章推荐

(2) 第一章 WCF学前知识-SOA设计架构原则

为了能够更加理解SOA,总结下个人在设计SOA中的原则: 1.访问边界的定义 标题中的边界,在后续的讲述中即便是地址和契约。在设计这个边界的时候必须注意,这个地址是客户用来通过它来访问服务的。所以...

黑马程序员_学前须知之mac常用知识介绍和unix基础指令

------- IOS培训、android培训、期待与您交流! ----------

我是如何成为一名python大咖的?

人生苦短,都说必须python,那么我分享下我是如何从小白成为Python资深开发者的吧。2014年我大学刚毕业..

Java学前基础知识

软件开发: 软件,即一系列按照特定顺序组织的计算机数据和指令的集合。有系统软件和应用软件之分。 人机交互方式: 1. 图形化界面这种方式简单直观,使用者易于接受,容易上手操作 2. 命令行...

ASP.NET MVC学前篇之Lambda表达式、依赖倒置

作者:金源 出处:http://blog.csdn.net/jinyuan0829 本文版权归作者和CSDN共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面

《SQL必知必会》学习笔记之-学前知识准备

开始学习数据库部分,之前玩玩打打没有认真看,现在想好好看看。基础太差,想借助《SQL必知必会》这本书来恶补下基础啊。 首先来了解下数据库和SQL相关的一些最基本的概念。 1.学习前知识准备    1....
  • lg_zy
  • lg_zy
  • 2017-05-18 09:18
  • 55
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)