C# 入门 总结 教程 简略版_第1页
C# 入门 总结 教程 简略版_第2页
C# 入门 总结 教程 简略版_第3页
C# 入门 总结 教程 简略版_第4页
C# 入门 总结 教程 简略版_第5页
已阅读5页,还剩21页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

目录1面向对象的概念2类的声明3类的数据成员和属性4构造函数的特点5抽象、封装、继承、多态面向对象的概念

对象:对象是人们要进行研究的任何事物,从最简单的整数到复杂的飞机等均可看作对象,它不仅能表示具体的事物,还能表示抽象的规则、计划或事件。事件与方法:事件又称为消息,表示向对象发出的服务请求。方法表示对象完成服务或执行的操作功能。

类:具有相同特性(数据元素)和行为(功能)的对象的抽象就是类。因此,对象的抽象是类,类的具体化就是对象,也可以说类的实例是对象,类实际上就是一种数据类型。类(不占内存)与对象(占内存)的关系就是抽象与具体。类的声明在面向对象的编程中,通常把用类创建对象的过程称为实例化,其格式如下:用日期类创建了一个日期的对象,就叫对象的实例化。多数语言中,实例化一个对象就是为对象开辟内存空间,或者是不用声明,直接使用。实例化时必须使用new关键字,new构造函数名(),建立一个临时对象。有时候,静态(static)的方法可以直接调用。[访问修饰符]class类名[:基类]{类的成员;}类的成员:类的数据成员、方法成员类名对象名=new类名(参数1,参数2,参数n);如:Datedate=newDate();类的数据成员和属性

类的数据成员包括类的常量、字段、属性、索引器、方法事件、构造函数等,其中常量、字段和属性都是类的数据有关的成员。1.常量:常量的值固定不变,格式如下:[访问修饰符]const数据类型常量名=常量的值;2.字段:字段表示类的成员变量,字段的值代表某个对象的数据状态声名字段的方法和定义普通变量的方法相同,格式如下[访问修饰符]数据类型字段名;3.构造函数:构造函数,是一种特殊的方法。主要用来在创建对象时初始化对象,即为对象成员变量赋初始值,总与new运算符一起使用在创建对象的语句中。特别的一个类可以有多个构造函数,可根据其参数个数的不同或参数类型的不同来区分它们即构造函数的重载。构造函数的特点构造函数的命名必须和类名完全相同。构造函数的功能主要用于在类的对象创建时定义初始化的状态。它没有返回值,也不能用void来修饰。这就保证了它不仅什么也不用自动返回,而且根本不能有任何选择。而其他方法都有返回值,即使是void返回值。尽管方法体本身不会自动返回什么,但仍然可以让它返回一些东西,而这些东西可能是不安全的;构造函数不能被直接调用,必须通过new运算符在创建对象时才会自动调用;而一般的方法是在程序执行到它的时候被调用的;当一个类只定义了私有的构造函数,将无法通过new关键字来创建其对象,当一个类没有定义任何构造函数,C#编译器会为其自动生成一个默认的无参的构造函数。构造函数有回滚的效果,构造函数抛出异常时,构造的是一个不完整对象,会回滚,将此不完整对象的成员释放。抽象、封装、继承、多态抽象

是处理事物复杂性的方法,只关注当前目标有关的方面,而忽略与当前目标无关的那些方面。继承

通过继承机制,所定义的新成员拥有旧成员的属性和方法。我们称已存在的用来派生新类的类为基类,又称为父类。由已存在的类派生出的新类称为,又称为子类。多态

在中,接口的多种不同的实现方式即为多态。同一操作作用于不同的对象,可以有不同的解释,产生不同的执行结果。在运行时,可以通过指向基类的指针,来调用实现派生类中的方法。封装

封装,即隐藏对象的属性和实现细节,仅对外公开接口,控制在程序中属性的读和修改的访问级别;将抽象得到的数据和行为(或功能)相结合,形成一个有机的整体,也就是将数据与操作数据的进行有机的结合,形成“类”,其中数据和函数都是类的成员。访问修饰符类修饰符成员修饰符123修饰符关键字readonly与const的区别3访问修饰符internal(内部的)只能在当前项目中访问Public(公有的)可以在任何类中访问。Private(私有的)访问仅限于该类的内部。Protected(受保护的)访问仅限于该类及其派生类。类修饰符abstract抽象类

指示一个类只能作为其它类的基类,不能实例化,可以继承,没有方法体。sealed密封类

指示一个类不能被继承。理所当然,密封类不能同时又是抽象类,因为抽象总是希望被继承的。不是类的每个成员方法都可以作为密封方法密封方法,必须对基类的虚方法进行重载,提供具体的实现方法。所以,在方法的声明中,sealed修饰符总是和override修饰符同时使用。成员修饰符delegate委托

用来定义一个函数指针。C#中的事件驱动是基于delegate+event的。Const常量

指定该成员的值只读不允许修改,默认是静态的Event事件

声明一个事件。new

在派生类中隐藏指定的基类成员,从而实现重写的功能。若要隐藏继承类的成员,请使用相同名称在派生类中声明该成员new修饰符修饰它。Virtual虚拟

指示一个方法或存取器的实现可以在继承类中被覆盖,重写。Static静态

指示一个成员属于类型本身,而不是属于特定的对象。即在定义后可不经实例化,就可使用。Extern外部

指示方法在外部实现。override重写

对由基类继承成员的新实现。关键字readonly与const的区别

readonly和const所声明的字段都是只读的。1.const字段只能在该字段的声明中初始化。2.readonly字段可以在声明或构造函数中初始化。因此,根据所使用的构造函数readonly字段可能具有不同的值。3.const字段是编译时常数,而readonly字段可用于运行时常数。4.const默认就是静态的,而readonly如果设置成静态的就必须显示声明。5.const对于引用类型的常数,可能的值只能是string和null。6.readonly可以是任何类型。总结:const只能在初期就使用常量初始化好。对于每一次编译后的结果,const的值是固定的,而readonly的值是可以在运行的时候才确定值的。抽象类与抽象方法概述1接口的概述2抽象类与接口的比较3接口与抽象类抽象类和抽象方法概述抽象方法是指在基类的定义中,不包含任何实现代码的方法,实际上就是一个不具有任何具体功能的方法。抽象类是不完整的,如果一个类中没有包含足够的信息来描述一个具体的事物,这就是抽象类。注意:在抽象类中,也可以声明非抽象方法、虚方法和数据类型。声明抽象方法时,抽象方法没有方法体,只在方法声明后跟上一个分号。抽象成员必须在抽象类中声明,但抽象类不要求必须包含抽象成员。抽象类的格式:Publicabstractclass抽象类名{[访问修饰符]abstract返回值类型方法名([参数列表]);}接口是一个引用类型,通过接口可以实现多重继承。C#中接口的成员不能有new、public、protected、internal、private等修饰符。接口中只能声明"抽象"成员(所以不能直接下一步对接口进行实例化(即不能使用new操作符声明一个接口的实例对象)),而不能声明共有的域或者私有的成员变量。接口声明不包括数据成员,只能包含方法、属性、事件、索引等成员。接口的命名规则和类名一样,接口名称一般都以“I”作为首字母(当然不这样声明也可以),这也是接口和类的一个区别之一。接口接口成员的访问级别是默认的(默认为public),所以在声明时不能再为接口成员指定任何访问修饰符,否则编译器会报错。接口成员不能有static、abstract、override、virtual修饰符,使用new修饰符不会报错,但会给出警告说不需要关键字new。在声明接口成员的时候,不准为接口成员编写具体的可执行代码,也就是说,只要在对接口进行声明时指明接口的成员名称和参数就可以了。接口一旦被实现,实现类必须实现接口中的所有成员,除非实现类本身是抽象类(通过具体的可执行代码实现接口抽象成员的操作)。在C#中,声明接口使用interface关键字,一般形式如下

intterface接口名[:继承接口名]{接口成员}抽象类与接口的比较抽象类由abstract关键字来修饰,接口由interface关键字来修饰。抽象类是一种不能实例化的类,抽象类可以包含抽象成员,也可包含非抽象成员和数据成员;抽象类可以完全实现,也可以部分实现,或者不实现。抽象类可以用来封装所有派生类的通用功能。接口顶多是一个完全没有实现的只包含抽象成员的抽象类(纯抽象类),不能被实例化,可以包含数据成员,但必须是常量,使用接口无法来封装所有派生类的通用功能。抽象类是对象的抽象化,接口是一种行为规范,接口代码实现由开发者完成,接口在创建就不能在更改,如果修改必须创建新的接口,一个类只能从一个基类派生,但是可以从多个接口派生。c/s架构优点c/s架构是一种比较早的软件架构,主要应用于局域网内。主要可以从以下三个方面来阐述其优点。一、客户端和服务器直接相连。点对点的模式使得更安全。可以直接操作本地文本,减少获取文本的时间和精力。由于直接相连,减少了通信流量,这对于客户来说可以节约一大笔费用。直接相连,中间没有什么阻隔或岔路,所以响应速度快。当通信量少的时候没什么感觉,但是如果通信量庞大,就不会出现拥堵的现象。二、客户端可以处理一些逻辑事务。充分利用两者的硬件设施,避免资源的浪费。为服务器分担一些逻辑事务,可以进行数据处理和数据存储。可以处理复杂的事务流程。客户端有一套完整应用程序,在出错提示、在线帮助等方面都有强大的功能,并且可以在子程序间自由切换。三、客户端操作界面。可以提高客户的视觉体验,满足客户需求。客户端操作界面可以随意排列,充分满足客户的需要,展现特点与个性。C/S架构的缺点一、客户端只能处理一些功能单一的多系统。C/S架构适用于局域网,对网速的要求比较高。由于需要安装客户端,安装部署困难,所以不易扩展。若客户端使用的系统不同,就要针对这些系统分别编写程序。客户端界面缺乏通用性,且当业务更改时就需要更改界面,重新编写客户端需要专门的客户端程序,比较麻烦,针对点多面广且不具备网络条件的用户群体,不能够实现快速部署安装和配置。二、服务器用户数增多会出现通信拥堵,服务器响应速度慢等情况。当客户端用户增多时,当服务器难当大任时,只能使用更强大的服务器。用户是通过ODBC连接到数据库的,且每个连接到数据库的用户都会保持一个ODBC连接,会一直占用中央服务器的资源,对服务器的要求很高。三、用户没有安装客户端的外部用户不能访问。只有安装了客户端才能访问服务器,所以用户不能随时随地的访问。用户是通过ODBC连接到数据库的,所以用户数受限,不易扩张。由于针对小范围的客户,所以不能实现真正大范围的信息共享,信息传达和发布四、成本系统升级维护麻烦,需要更改大量程序,投入大量精力和金钱。业务扩展或变更时,需要更改程序,客户端的界面也需要重新更改。初次投入成本后不能一劳永逸,后期需要很多成本,比如服务器的更换,客户端的更变等。B/S架构的优点一、浏览器能面对广大的用户实现信息传播共享。浏览器只处理一些简单的逻辑事务,负担小。页面的更新能实现同步,所有用户都能看到。界面设计开发简单,对程序员的要求较低,不需要大量的培训。业务扩展方便,只需要增加几个业务扩展的页面即可,不需要大量的编程。界面不需要太多的编写,比较通用,更改界面也比较简单,所以几乎不需要维护。由于Web的平台无关性,可以从一台服务器、几个用户的工作组级扩展成为拥有成上万用户的大型系统。二、服务器数据都集中存放在数据库服务器,所以不存在数据不一致现象。能有效地保护数据平台和管理访问权限,服务器数据库也很安全在数据库服务器上不一定使用WINDOWS系统,选择更多,成本更少。如果是异地,只需要把服务器连接专网即可,实现远程维护、升级和共享。在JAVA这样的跨平台语言出现之后,B/S架构管理软件更是方便、快捷、高效。数据存放在数据库服务器,客户端并不存放任何业务数据或者数据库连接信息,所以数据比较安全。随着服务器负载的增加,可以平滑地增加服务器的个数并建立集群服务器系统,然后在各个服务器之间做负载均衡。三、用户B/S建立在广域网上,所需的网速不高。外部的用户也可以对浏览器进行访问,界面人性化,通用化。不需要安装客户端,只要能连上网,就能随时随地的浏览页面。借助Internet强大的信息发布与信息传送能力可以有效地解决企业内部的大量不规则的信息交流。所有的用户都是通过一个JDBC连接缓冲池连接到数据库的,用户并不保持对数据库的连接,用户数基本上是无限的。四、成本软件重用性强,节省了大量的成本。不需要安装特殊的软件,客户端几乎零维护。一般只有初期一次性投入成本,有利于软件项目控制和避免IT黑洞开发简单,升级便捷,客户端几乎不需要维护,建立在广域网之上的,不必是专门的网络硬件环境,例如电话上网,租用设备等,成本较小。B/S架构的缺点一、客户端面通用化,不突出个性。页面需要不断地动态刷新,尤其是用户增多,网速慢得情况,很费时。由于不需要安装客户端,客户端易扩展,还有就是外部用户也可以

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论