原味的夏日
夏日里的一米阳光
 

有关面向对象的论文

                              C# 面向对象  

面向对象技术是一种强有力的软件开发方法,它将数据和对数据的操作作为一个相互依赖,不可分割的整体,力图使现实世界的问题简单化,面向对象有三大特征:封装、继承、多态。

面向对象分析中,对象拥有的各种特征称为状态,对象所拥有能做的事情称为行为,一组具有相同特征和共同行为的对象的集合称之为类。可以说类是对象的抽象,类是对象的末班,对象是类的实例。类的成员包括字段、属性、方法、构造函数、索引器等。通过访问修饰符可以控制程序对类成员的访问。访问修饰符有以下4个:

       Public 可被其他对象访问,没有任何限制; private 只有对象自己可以访问;

       Protected 类内部及其子类可以访问;        internal 在同一程序集中被访问;

通过访问修饰符保护了类成员的访问级别。

类的属性来约束对字段的非法输入,可以设置读写属性:只读,只写,读写,通过get()和set()方法来限制它的访问类型。避免使用非法数据赋值,保证数据完整性,避免类内部发生修改时导致整个程序的修改,我们就可以通过封装来限制类的访问级别。利用公有属性访问私有字段来实现。

一个对象访问另一个对象的属性和方法,这种关系当他们的互相访问结束时就不复存在了,要想建立类之间的关系,实现代码复用,方便系统的扩展,我们就要用到面向对象的第二特征:继承。

一个类可以继承另一个类,被继承的类称为父类或基类,继承其他类的类称为子类或者派生类。继承后子类不仅拥有自己独有的成员,换拥有父类所有的非私有成员,因此使用继承简化了类的设计,减少了代码的冗余。在继承后,如果在子类定义的一个方法其名称、返回类型、及参数列表正好和父类中某个方法的其名称、返回类型、及参数列表相匹配,那么可以说子类重写了父类的方法。类有一个成员,它是一个特殊的方法,它通常在类的最前面叫做构造函数。它用于创建实例时对对象进行初始化,构造函数可以重载,可以初始化不同数量的属性,这样传入的参数数量不同。父类包含两种构造函数:有参的和无参的。一个子类继承父类,如果子类的构造函数没有使用base关键字指明调用父类的那个构造函数,则父类必须提供一个默认的无参的构造函数,这种情况下子类会隐式调用父类的默认无参构造函数;如果父类中没有提供默认的无参的构造函数,那么子类的构造函数必须明确指明调用哪个父类的有参构造函数。

继承有三个特性:1传递性,要符合is-a关系;2密封类,用sealed修饰的类不能被继承;3单根性,一个类只能有一个直接父类,但可以实现多个接口,接口中可以定义属性方法,但不能够实现,接口可以作为参数或返回值。

相同的方法调用可实现不同的实现方式这就是多态。两个或多个属于不同类的对象对与统一方法的调用做出不同的响应方式。多态分为静态多态和动态多态。方法重载是指两个或多个方法名称相同,但参数项不同,它属于静态多态。它的重载方式有两种:参数是不同类型的重载和参数个数不同的重载;动态多态可以通过抽象方法和虚方法实现。抽象方法是一个没有实现的方法用abstract修饰,含有抽象方法的类必然是抽象类。抽象类不能被实例化,不能是密封或静态的;当一个抽象父类派生出一个子类时,子类将继承父类的所有特征。包括未实现的抽象方法,在子类中实现一个抽象方法是使用override关键字来重写抽象方法。用virtual关键字修饰的方法称为虚方法。虚方法可以有具体的实现,也可以被重写,从而实现多态性。

面向对象的三大特征:封装、继承、多态。面向对象编程(Objec-Oriented Programm OOP)保证对象自身数据的完整性、安全性,相同的方法调用实现不同的实现方式,建立了类之间的关系。实现了代码的复用,方便了系统的扩展。

 

posted on 2009-07-09 09:29  原味的夏日  阅读(312)  评论(0)    收藏  举报