《.NET基础教程》由会员分享,可在线阅读,更多相关《.NET基础教程(70页珍藏版)》请在金锄头文库上搜索。
1、第二章 C#基础1(.NET平台及C#编程)Platform of .NET and Programing with C# 2 /30目标l为什么面向对象l面向对象基本概念l变量l常量l预定义类型l分支语句l循环语句2(.NET平台及C#编程)Platform of .NET and Programing with C# 3 /30为什么要面向对象l在面向对象之前,主流是面向过程的程序 设计,面向过程的开发方法,一般会存在 如下问题。l软件重用性差。l软件可维护性差。l开发出的软件不能满足用户的需求变化。3(.NET平台及C#编程)Platform of .NET and Programing
2、 with C# 4 /30为什么要面向对象l面向对象把构成问题的事物分解成各个对象, 建立对象的目的不是完成一个步骤,而是描述 某个事物在整个解决问题的步骤的行为。面向 过程,程序=数据结构+算法,那么面向对象, 程序=对象+对象。面向对象的优点:l可以更好的适应需求的变化。l具有更好的重用性。l更易于维护。l更易于扩展。l更安全。4(.NET平台及C#编程)Platform of .NET and Programing with C# 5 /30什么是面向对象?l面向对象是一种编程方式。 l最早期的编程语言都是面向流程的,如c语 言等等 l后来有了图形化界面,开始有了基于对象的 编程,国内
3、我们通常见识最早实现面向对象 概念的就是C+了。 lC#语言可以说是真正的,完全的面向对象 的语言,在这个语言里面,什么都是用对象 描述的,记住,这点非常重要。5(.NET平台及C#编程)Platform of .NET and Programing with C# 6 /30面向对象基本概念l我们认为现实世界是由各种各样的实体(事物、对象)所组成的, 每种对象都有自己的内部状态和运动规律。 l不同对象间的相互联系和相互作用就构成了各种不同的系统,并进 而构成整个客观世界。同时人们为了更好的认识客观世界, l把具有相似内部状态和运动规律的实体(事物、对象)综合在一起 称为类。 l类是具有相似内
4、部状态和运动规律的实体的抽象,l进而人们抽象的认为客观世界是由不同类的事物间相互联系和相互 作用所构成的一个整体。l计算机软件的目的就是为了模拟现实世界,使各种不同的现实世界 系统在计算机中得以实现,进而为我们工作、学习、生活提供帮助 。6(.NET平台及C#编程)Platform of .NET and Programing with C# 7 /30面向对象基本概念7(.NET平台及C#编程)Platform of .NET and Programing with C# 8 /30面向对象基本概念l面向对象(object-oriented ;简称:oo) 至 今还没有统一的概念,这里把它定
5、义为: 按人们认识客观世界的系统思维方式, 采用基于对象(实体)的概念建立模型, 模拟客观世界分析、设计、实现软件的办 法。l通过面向对象的理念使计算机软件系统能 与现实世界中的系统一一对应。8(.NET平台及C#编程)Platform of .NET and Programing with C# 9 /30面向对象基本概念l对象(object):即指现实世界中各种各样的实体。它可以指具体的事物也可以指抽象的事物。如:整数1、2、3、苹果、飞机、规则、法律、 法规、表单等等。每个对象皆有自己的内部状态和运动规律,如某个人具有名字、身高、体重等内部状态,具有吃饭、睡觉、打人、偷税、漏税等运动规律
6、 。在面向对象概念中我们把对象的内部状态称为属 性、运动规律成为方法或事件。9(.NET平台及C#编程)Platform of .NET and Programing with C# 10 /30面向对象基本概念l类(class):类是具有相似内部状态和运动规律的实体的集合(或 统称、抽象)。 l类的概念来自于人们认识自然、认识社会的过程。 l在这一程中,人们主要使用两种方法:由特殊到一般的归纳法和由 一般到特殊的演绎法。 l在归纳的过程中,我们从一个个具体的事物中把共同的特征抽取出 来, l形成一个一般的概念,这就是“归类“;l如:昆虫、狮子、爬行动物,因为它们都能动所以归类为动物。 l在演
7、绎的过程中我们又把同类的事物,根据不同的特征分成不同的 小类, l这就是“分类”;10(.NET平台及C#编程)Platform of .NET and Programing with C# 11 /30面向对象基本概念l如动物-猫科动物-猫-大花猫等。对于一个具体的类,它有许多具体的个体,我们就管这 些个体叫做“对象“。类的内部状态是指类集合中对象的共同状态;类的运动规律是指类集合中对象的共同运动规律。如: 博拉图对人作如下定义:人是没有毛能直立行走的动物。在博拉图的定义中“人“是 一个类,具有“没有毛、直立行走“等一些区别于其它事物的共同特 征;而张三、李四、王五、流氓陈水扁等一个个具体的
8、人, 是“人“这个类的一个个“对象“。11(.NET平台及C#编程)Platform of .NET and Programing with C# 12 /30面向对象基本概念l消息(Message): 消息是指对象间相互 联系和相互作用的方式。l一个消息主要由5部分组成:发送消息的对 象、接收消息的对象、消息传递办法、消 息内容(参数)、反馈。12(.NET平台及C#编程)Platform of .NET and Programing with C# 13 /30面向对象基本概念13(.NET平台及C#编程)Platform of .NET and Programing with C# 14
9、 /30面向对象基本概念类的特性,类的定义决定了类具有以下5个 特性: 抽象、继承、封装、重载、多态。14(.NET平台及C#编程)Platform of .NET and Programing with C# 15 /30面向对象基本概念抽象:类的定义中明确指出类是一组具有内部状态和 运动规律对象的抽象,抽象是一种从一般的观点 看待事物的方法,它要求我们集中于事物的本质 特征(内部状态和运动规律),而非具体细节或 具体实现。面向对象鼓励我们用抽象的观点来看 待现实世界,也就是说,现实世界是一组抽象的 对象类组成的。15(.NET平台及C#编程)Platform of .NET and Pro
10、graming with C# 16 /30面向对象基本概念继承:继承是类不同抽象级别之间的关系。类的定义 主要有2种 办法归纳和演绎;由一些特殊类归 纳出来的一般类称为这些特殊类的父类,特殊类 称为一般类的子类,同样父类可演绎出子类; 父类是子类更高级别的抽象。子类可以继承父类 的所有内部状态和运动规律。在计算机软件开发 中采用继承性,提供了类的规范的等级结构;通 过类的继承关系,使公共的特性能够共享,提高 了软件的重用性。16(.NET平台及C#编程)Platform of .NET and Programing with C# 17 /30面向对象基本概念封装:对象间的相互联系和相互作用
11、过程主要通过消 息机制得以实现。 对象之间并不需要过多的了 解对方内部的具体状态或运动规律。面向对象的 类是封装良好的模块,类定义将其说明(用户可 见的外部接口)与实现(用户不可见的内部实现 )显式地分开,其内部实现按其具体定义的作用 域提供保护。类是封装的最基本单位。封装防止 了程序相互依赖性而带来的变动影响。17(.NET平台及C#编程)Platform of .NET and Programing with C# 18 /30面向对象基本概念多态(覆盖):多态性是指同名的方法可在不同的类中具有不同 的运动规律。在父类演绎为子类时,类的运动规 律也同样可以演绎,演绎使子类的同名运动规律 或
12、运动形式更具体,甚至子类可以有不同于父类 的运动规律或运动形式。不同的子类可以演绎出 不同的运动规律。如动物都会吃,而羊和狼吃的 方式和内容都不一样。18(.NET平台及C#编程)Platform of .NET and Programing with C# 19 /30面向对象基本概念19(.NET平台及C#编程)Platform of .NET and Programing with C# 20 /30面向对象基本概念重载:重载指类的同名方法在给其传递不同的参 数是可以有不同的运动规律。 在对象间相 互作用时,即使接收消息对象采用相同的 接收办法,但消息内容的详细程度不同, 接收消息对象内
13、部的运动规律也可能不同 。20(.NET平台及C#编程)Platform of .NET and Programing with C# 21 /30面向对象基本概念l老板指派采购员买东西, 当老板没有指明买什么时 ,采购员可能默认买地瓜 ;l如老板指明要采购员买大 米,采购员可能到最近的 超市买10斤大米;l如老板指明采购员今天晚 上到福州东街口买5斤大 米,那采购员将不得不按 老板指定的时间、地点去 购买5斤大米。21(.NET平台及C#编程)Platform of .NET and Programing with C# 22 /30面向对象基本概念l命名空间:我们认为现实世界中不同对象间的
14、相互联 系和相互作用构成了各种不同的系统,不 同系统间的相互联系和相互作用构成了更 庞大的系统,进而构成了整个世界。在面 向对象概念中把这些系统称为命名空间。22(.NET平台及C#编程)Platform of .NET and Programing with C# 23 /30第一个C#程序1、启动VS,新建一个控制台应用程序,在Main()中输入 如下代码./这是我的第一个c#程序/*这是我的第一个c#程序*/Console.WriteLine(“Hello World!“);Console.ReadLine();2、运行程序,将在DOS模式下显示字符“Hello World!“,并等待输
15、入。同时,在BINdebug目录下 会生成一个可执行文件 ConsoleApplication1.exe。点击此文件,显示同样的效 果。23(.NET平台及C#编程)Platform of .NET and Programing with C# 24 /30第一个C#程序l在C#中,每个语句都必须用一个分号(;)结 尾l语句可以写在多个代码行上。用花括号( . )把语句组合为块。l单行注释以两个斜杠字符开头(/),l多行注释以一个斜杠和一个星号(/*)开头, 以一个星号和一个斜杠(*/)结尾。24(.NET平台及C#编程)Platform of .NET and Programing with C# 25 /30第一个C#程序命名空间的使用 (1)使用using指令 (2)System命名空间存储了一些常用的类。l例如: (1)使用System的原因是下面要使用一个库类 System.Console。 (2)声明一个类MyFirstClass。因为该类位于 ConsoleApplication1命名空间中,所以其完整的 名称是ConsoleApplication1.MyFir