周未面向对象(c#)的培训!

培训笔记整理如下:

面向对象编程

基本概念

封装、继承、多态

 

封装:

private

protected

public

internal protected程序内部(ASSEMBLE)访问。或继承的类

internal 程序内部(ASSEMBLE)访问。

 

继承:所有类从System.Object

类继承

接口继承

 

多态:

Abstract 虚类,抽象类不能被实例化

virtual  虚函数,第一次定义

override 第二以继承以后用

 

 

重要性

那种特性最重要? 多态

 

 

面向对象扩展概念

接口

特点:类似于纯虚类;只有定义,没有实现;允许多重继承

通常的特点:可以直接赋值,无需转化

.net支持:as操作符度  

 

属性

只读、只写、可读写

属性允许有static/virtual/override/abstract

 

索引器

类似于属性,举例

         public SQLTableInfo this[int i]

         {

              get

              {

                   return (SQLTableInfo)(List[i]);

              }

              set

              {

                   List[i] = value;

              }

         }

         public SQLTableInfo this[string s]

         {

              get

              {

                   foreach (SQLTableInfo tableInfo in this)

                       if (tableInfo.TableName == s)

                            return tableInfo;

                   return null;

              }

         }

同样可以有static/virtual/override/abstract

 

委托(delegate)和事件(event

委托相当于函数指针,和函数指针不同的是:1)类型安全;2)支持多个,而不是单个

    public delegate void FieldInfoEventHandler(object sender, FieldInfoEventArgs e);

事件是定义在类中,是一种特殊的delegate。使用方法:

         public event FieldInfoEventHandler SetFieldInfo;

 

         protected virtual void OnSetFieldInfo(FieldInfoEventArgs e)

         {

              if (SetFieldInfo != null)

                   SetFieldInfo(this, e);

         }

 

         internal void GetFieldInfo(UpdateKind updateStatus)

         {

              foreach (FieldInfo fieldInfo in FieldInfos)

              {

                   if (IsKeyField(fieldInfo.FieldName))

                       fieldInfo.Flags = ProviderFlag.Update | ProviderFlag.Where;

                  else

                       fieldInfo.Flags = ProviderFlag.Update;

                   OnSetFieldInfo(new FieldInfoEventArgs(fieldInfo, updateStatus));

              }       

         }

 

异常

必须从System.Exception继承。抛出方法throw new Exception();

posted on 2004-06-14 10:45  edobnet  阅读(1491)  评论(3编辑  收藏  举报