您的位置:首页 > 其它

2.0 面向对象 类与实例(关键字)、封装、继承、多态(虚方法,抽象类,抽象方法,接口)

2013-06-27 20:52 926 查看

一切事物皆为对象,对象是可以看到、感觉到、听到、触摸到、尝到、或闻到的东西。 对象是一个自包含的实体,用一组可识别的特性和行为来标识。面向对象编程(Object-Oriented Programming): 其实就是针对对象来进行编程。

面向对象的语言必须满足三大特性:封装、继承、多态

一、类与实例

  定义:具有相同属性和功能的对象的抽象的集合,是对象的一种表现形式;实例化就是创建对象的过程(new),实例就是一个真实的对象。

  修饰符和关键字:

分类名称修饰符/关键字概述实例使用
属性修饰符[Serializable]按值将对象封送到远程服务器。在按值封送对象时,就会创建一个该对象的副本,并将其序列化传送到服务器。 任何对该对象的方法调用都是在服务器上进行的。
[STAThread]是Single-Threaded Apartment单线程套间的意思,是一种线程模型(线程模式用于处理组件在多线程的环境里并行与并互的方式),套间线程(STAThread)模式中接口跨线程传递必须被调度(Marshal),不调度直传肯定会失败!而MTA或FreeThread模式中的接口可以不经调度直接传递。这种调度在特定的环境中非常影响性能(可有几百倍之差)。如VB里只支持STAThread模式。FreeThread模式的组件会在里面表现成和跨进程一样慢!线程模式是微软的COM基础中的极其重要的概念。一定要吃透!
[MTAThread]是MultiThreaded Apartment多线程套间的意思,同上也是一种线程模型。
访问修饰符private只有包含该成员的类可以使用,作用于类成员。
protected只有包含该成员的类以及派生类可以存取,作用于类成员。
internal只有当前工程(程序集)可以存取,作用于程序集及以内。
public存取不受限制,任何地方都可以访问,作用于程序集及以内。
类修饰符abstract抽象类。指示一个类只能作为其它类的基类。
sealed密封类。指示一个类不能被继承。理所当然,密封类不能同时又是抽象类,因为抽象总是希望被继承的。
成员修饰符abstract指示该方法或属性没有实现。
sealed密封方法。可以防止在派生类中对该方法的override(重载)。不是类的每个成员方法都可以作为密封方法密封方法,必须对基类的虚方法进行重载,提供具体的实现方法。所以,在方法的声明中,sealed修饰符总是和override修饰符同时使用。
delegate委托。用来定义一个函数指针。C#中的事件驱动是基于delegate + event的。
event声明一个事件。
extern指示方法在外部实现。
override重写。对由基类继承成员的新实现。
readonly指示一个域只能在声明时以及相同类的内部被赋值。
static指示一个成员属于类型本身,而不是属于特定的对象。即在定义后可不经实例化,就可使用。
virtual指示一个方法或存取器的实现可以在继承类中被覆盖。
new在派生类中隐藏指定的基类成员,从而实现重写的功能。 若要隐藏继承类的成员,请使用相同名称在派生类中声明该成员,并用 new 修饰符修饰它。
const指定该成员的值只读不允许修改。
其他关键字this关键字只能在方法内使用,包括构造方法,用来指代当前类本身的对象,关键字只能访问实例成员
basebase关键字的中文意思是超级的,使用base关键字可以在子类中引用父类部分的内容。
typeof获取某一类型的 System.Type 对象,不能重载 typeof 运算符。eg:typeof(int)View Code

public abstract class AbsTest
{
public virtual void Test()
{
Debug.WriteLine("Test");
}
public abstract void NewTest();
}
public interface ITest
{
void Test();
void NewTest();
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐