- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第17章 C#语言简介
C#(C Sharp)是微软于2000年提出的一种源于C++、类似于Java的面向对象编程语言,适合于分布式环境中的组件开发。C# 是专门为.NET设计的,也是.NET编程的首选语言。
17.1 OOP语言
OOP(Object-Oriented Programming,面向对象编程)是目前主流的编程技术,本节介绍其中最重要的C++、Java和C#,重点是它们三者之间的关系与对比。
17.1.1 OOP概述
程序设计语言,在思想上发展很快,在技术上也是不断创新。经历了手工操作(控制面板)、机器语言、汇编语言、宏汇编语言、高级语言和第4代语言等多个阶段。OOP只是在高级程序设计语言中,流行的多种编程技术之一。
1.基本特征
面向对象编程的三个基本特征是:
封装(encapsulation)—— 是对问题的抽象,以达到信息隐藏的目的。通过类和对象,将属性(数据/变量)和方法(操作/函数)封装在一个黑箱内,将细节隐藏起来。既可以保护数据不被他人恶意或大意地修改,又能防止其他程序员编写高耦合度的代码,还方便了今后对对象内部的修改和升级。
继承(inheritance)—— 利用问题和事物的相似性,通过类的(多层)继承机制,可以达到减少软件开发难度和重用已有对象的属性和方法之目的。
多态(polymorphism)—— 同一操作或响应,可以同时针对多个可选的类型和对象,并且能够自动在它们中间选择最合适的来进行。多态可以分为:
编译时多态:包括函数和运算符的重载(overload),通过早期的静态绑定(binding)来实现。
运行时多态:通过继承结合晚期动态绑定来实现——用同一基类的指针,可以访问各个不同派生类中的同名方法和函数。
2.基本概念
面向对象编程的基本概念(类似的概念多、表达不够准确、各处的用法各异):
抽象(abstraction)—— 一个问题的本质特征。忽略一个对象的细节,致力于一般的合适级别的程序能力。抽象是在事物的周围绘制透明的盒子,是定义事物接口的行为。
信息隐藏(information hiding)—— 限制外部对类属性(数据成员)的访问。
封装(encapsulation)—— 将某种保密和隐匿应用到类中的数据和一些方法(函数或子例程)上。封装确保一个对象只能通过确定的渠道(即类的公用方法)才可被修改。封装意味着将数据及相关函数打包到一个单一的单元(类)中。每个对象暴露一个接口(公用方法),规定其他对象可以如何读取或修改它。
类(class)—— 问题的抽象,对象的模版,接口的实现。例如int是整数的模版、CPoint是点的模版。
对象(object)—— 问题中的事物,类的实例(变量),拥有数据和功能。若int i; CPoint p; 则i是int的实例变量,p是CPoint的实例对象。
实例(instance)—— 一个对象,是某个类的示例。
实例化(intantiate)—— 由类定义创建对象。
继承(inheritance)—— 创建子类的机制,一种“is a”或“is like”关系,形成类层次结构。是OOP中对象重用的核心概念。
子类(subclass)—— 继承自另一个类的派生类(derived class)。
超类(superclass父类)—— 被另一个类继承的基类(base class)。
虚函数(virtual function)—— 可以在子类中被覆盖(override)的函数。
纯虚函数(pure virtual function)—— 只有声明没有定义的函数,必须在派生类中被覆盖。
抽象类(abstract class)—— 至少包含一个纯虚函数的类,不能被实例化。
具体类(concrete class)—— 可以实例化的类,不包含纯虚函数。
接口(interface)—— 纯抽象的类,类的模版。接口中的所有的方法(成员函数)都只有声明,没有定义(都是纯虚函数)。必须在接口的派生类中,实现接口的全部方法。接口可以看成是一个,定义了一套内部行为的,若干操作特征标记的集合。(在C++中,也把类的公用成员函数叫做接口)。
属性(attribute)—— 类和接口中的数据信息,又叫数据成员(data member)或成员变量(member variable)。属性是类知道的事物。
方法(method)—— 类操作的实现,又叫成员函数(member function)。方法是类要做的事情。(在C++中,也把虚函数叫做方法)。
重载(overload)—— 一个类中的,参数的数目、类型或排列顺序不同的多个同名方法(成员函数)。
覆盖(override)—— 在子类中重新定义(与父类中的定义有区别的)属性和方法。
持久化(persistence)—— 将对象存入
您可能关注的文档
最近下载
- 侠客风云传养成模式触发剧情一览.pdf VIP
- YST 582-2013 电池级碳酸锂.pdf
- 淘股吧高手语录.docx VIP
- 2024~2025学年上学期七年级第一次月考数学试题(含答案).pdf VIP
- GB-T6284-1986化工产品中水分含量测定的通用方法重量法.pdf
- MSC:人工智能赋能可持续发展和投资白皮书.pdf VIP
- 24J306 窗井、设备吊装口、排水沟、集水坑图集.docx VIP
- 2014年深圳市坪山新区主要病媒生物监测及白纹伊蚊抗药性研究.pdf VIP
- T∕CBDA 69-2023 建筑装饰装修碳排放计算标准.pdf
- 国际私法(暨南大学)中国大学MOOC 慕课 章节测验 期末考试答案.docx VIP
文档评论(0)