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正确的理解和执行。

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

中国高智商协会(胜寒) 入会智商考试热身题答案

中国高智商协会(胜寒) 入会智商考试热身题答案 最近《超级大脑》很火的样子,里面有几个选手是中国高智商协会会员。没事百度了一下, 发现还有入会智商考试热身题 http://www.she...
  • weixin_41363066
  • weixin_41363066
  • 2018年01月20日 16:55
  • 1265

C#学前了解笔记

CLR:公共语言运行库CLR的控制下运行的代码称为托管代码行开发的源代码之前,需要编译它们(在C#中或其他语言中)。在.NET中,编译分为两个阶段:(1) 把源代码编译为Microsoft中间语言(I...
  • cgy512
  • cgy512
  • 2009年08月11日 23:21
  • 56

ACM复习(19)8629 热身游戏

Description ACM 程序设计竞赛是一项激励人心的竞赛,除了考验大家的编程功底,更多的是考验大家的思维以 及数学运算能力。开赛前15分钟,我们华农的某队开始了以下对话: ipc...
  • sinat_34200786
  • sinat_34200786
  • 2018年01月29日 13:32
  • 41

c#学前准备

刚开始学习c#,作为一种编程语言,与之前学过的VB也有很多想通的地方。下面是学习之前对c#的了解: 1.框架         .NET框架是一个多语言组件开发和执行环境,它提供了一个跨语言的统一编...
  • JYL15732624861
  • JYL15732624861
  • 2015年12月06日 14:26
  • 914

6/21 09东北赛热身2

Satellite PhotographsDFS/BFS的同时统计一下 Max Factor没看题就被秒,扫了一眼应该是求素数 City Skyline很巧妙的一题,转化到最后代码极短用一个栈维护,每...
  • twilightgod
  • twilightgod
  • 2009年06月24日 09:48
  • 640

读‘Web前端开发工程师编程能力飞升之路’感触

背景 如果你是刚进入WEB前端研发领域,想试试这潭水有多深,看这篇文章吧; 如果你是做了两三年WEB产品前端研发,迷茫找不着提高之路,看这篇文章吧; 如果你是四五年的前端开发高手,没有难题能难得...
  • sunyuan_software
  • sunyuan_software
  • 2015年11月01日 17:50
  • 707

写给大一翘课后悔了的同学

【学生来信】贺老师:  您好,我是一名即将步入大二的学生,学的是计算机科学与技术专业,看到您很热心的解答疑问,也想将我现在的迷茫请教您,希望得到老师的指点与帮助。  我从小就对电子产品感兴趣。大学也如...
  • sxhelijian
  • sxhelijian
  • 2012年08月04日 21:09
  • 4094

热身、热身 【编程语言简介】

今天下了一天的雨,上午下了一阵大暴雨。7月份的天气凉快了些。 我一天比较丧,像一只失去希望的咸猫。休息了几天后突然感觉很没有信心。休息久了大概每次都会这样,跟刚准备休息的时候的满腔热血差很多,应该是一...
  • CatTooWhite
  • CatTooWhite
  • 2017年07月06日 15:55
  • 99

Theano深度学习笔记(一)热身训练

Theano深度学习教程第一章
  • mingtian715
  • mingtian715
  • 2017年01月19日 16:07
  • 694

热身:一个基于矩阵的快速计算神经网络输出的方法

转载自 哈工大SCIR 热身:一个基于矩阵的快速计算神经网络输出的方法
  • lujiandong1
  • lujiandong1
  • 2016年10月01日 09:41
  • 160
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:C#学前热身
举报原因:
原因补充:

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