<一>面向对象编程简介
1.过程式设计
过程式的程序设计是一种自上而下的设计方法,设计者用一个Main函数概括出整个应用程序需要做的事,而Main函数由对一系列子函数的调用组成。
2.面向对象设计
面向对象是一种自下而上的程序设计方法。面向对象设计以数据为中心,类作为表现数据的工具,是划分程序的基本单位。而函数在面向对象设计终成为了类的接口。
<二>什么是面向对象编程
1.面向对象编程(object oriented Programmin)简称OOP技术,是开发计算机应用程序的一种新方法、新思维。
2.类的概念:把具有相似内部状态和运动规律的实体综合在一起称为类。类是具有相似内部状态和运动规律的实体抽象,进而人们抽象的认为客观世界是由不同类的事物间相互联系和相互作用所构成的一个整体。
<三>什么是对象
1,在面向对象概念中我们把对象内部状态成为属性、运动规律呢成为方法或事件。
<四>什么是类
1.类是具有像是属性和方法的对象的集合。对于一个类,它有许多具体的个体,这些个体就是对象。
<四>什么是消息
消息是指对象间相互联系和相互作用的方式。一个消息有五个部分组成:发送消息对象、接收消息对象、消息传递办法、小心内容(参数呢)、反馈。
<五>什么是抽象
抽象是一种从一般的观点看待事物的方法,他要求我们集中与事物的本质特征,而非具体细节或具体实现。
<六>类和对象的关系
类是抽象的,而对象是具体的。类是对象的抽象形式,对象是类的具体形式。
<七>面向对象程序设计的特点
面向对象的编程方式具有封装、继承和多态三大特征。
1.封装:类是封装的最基本单位,封装防止了程序相互依赖性而带来的变动影响。在类中定义的接受对方消息的方法称为类的接口。
2.继承:继承是从一个现有的类创建新类的过程。现有的类称为父类,新类成为子类。子类可以访问父类的属性和方法。
3.多态:多态是指同名的方法可以在不同的类中具有不同的运动规律。
<八>类的定义
1.定义类的语法:
修饰符 class 类名
{
类成员
}
注释:class关键字和类名是必选项,public是类的访问修饰符。
2.类的访问修饰符
类只能使用public和internal两种反问修饰符
public:所修饰的类的可访问域是它所在的程序和任何引用该程序的程序
internal:所修饰的类的可访问的域是定义它的程序。
注释:当类没有修饰符时,默认访问修饰符为internal.
3.类的成员
1. 类中的数据和方法称为类的成员。
1.数据成员:
数据成员包含了类的数据-字段和常量
2. 字段:字段是类中的变量
声明字段的语法:
type(类型) identity(字段名称)
3. 常量:常量的定义与字段类似,在变量类型前加上const就可以声明一个常量
2.方法成员
方法成员提供了操作类中数据的某些功能。方法是具有名称的可执代码块,类似于c语言的函数。可以从程序的很多不同地方执行,甚至从其他程序执行。方法在类和结构中声明,声明时需要指定访问级别、返回值、方法名称及方法参数。
声明方法的语法
修饰符 返回值类型 方法名称(参数类表)
{
方法体、、、、
}
注释:如返回值类型需要有值返回,需要用return来返回。
3.成员的访问修饰符
修饰符的访问级别:
共有成员:允许类的使用者从外部进行访问,共有成员的修饰符为public,这是限制最少的一种访问修饰符。
私有成员:仅限于类中的成员可以访问,从类的外部访问是不合法的。如声明类是没有修饰符,则默认为私有成员,修饰符为private.
保护成员:为了方便派生类的访问,又希望成员对于外界是隐藏的。就需要用到protected修饰符。
内部成员:对于同一程序是可以访问的,使用internal修饰的类成员是一种特殊的成员。
4.实例化对象
在c#中创建的对象也成为实例,需要使用new关键字。
语法:类名 别名=new 类名();
5.属性的概念和用途
1.属性是一种用于访问类的字段的成员,属性可以包含字符串长度、字体的大小,窗体的标题和客户的名称等。属性也是类的方法成员。
2.C#通过属性读取和写入字段,而不是直接读取字段,以此来提供对类中字段的保护。
属性声明:
语法如下:
访问修饰符 数据类型 属性名
{
get{};
SET{};
}
GET访问器是一个不带参数的,它用于向外部指定字段的值通常使用return语句返回某个变量的值。
set访问器是一个返回类型为void的方法,用于处理类外部的写入值。set访问带有一个特殊的关键字value,value就是set访问函数的隐式参数。
3.属性的类型
属性分为三种类型
读/写属性:是具有set{}和get{}访问器的属性;
只读属性:仅具有get{}访问器的属性,此类型的属性提供了对数据成员的读取。
只写属性:仅包含set{}访问器,此类型的属性提供了对数据成员的写入。
4.方法的参数
值参数:值方式传递参数时,编译程序给实参做了一个副本,并将这个副本传递个该方法的相应的参数,被调用的方法不会修改内存中的实参的值,可以确保值的安全。
引用参数:引用参数是传递内存中的地址,并不开辟新的内存空间。主要关键字为reference,缩写为ref。
输出参数:仅用于从方法传递回一个结果,使用关键字out
语法:
public void 方法名(out 参数列)
{
方法体、、、、、
}
数组型参数:参数只允许时一维数组,关键字为params,只要有params关键字就是一个带数组型参数的方法。
语法:
public void 方法名(params 类型[] 数组名)
{
方法体、、、、、
}
请点击C#类与对象查看: