标签归档:c#类及对象

C#中多态简介说明


摘要:
下文讲述c#中多态的相关说明,如下所示;


多态简介

  
  我们将通过继承,而重写方法,
  达到不同对象调用同名方法,表现出不同行为
的这种现象称之为“多态” 

例:
多态的示例分享

using System;

namespace consoleTest
{

      abstract class main {
        public string keyId;


        public abstract void  printInfo();

       }
 

    class s1 : main
    {
        public override void printInfo()
        {
            Console.WriteLine("s1中printInfo方法");
        }
    }

    class s2 : main
    {
        public override void printInfo()
        {
            Console.WriteLine("s2中printInfo方法");
        }
    }

    class Program
    {
        static void Main(string[] args)
        {
            Console.WriteLine("maomao365.com示例分享");

            main[] list = new main[2];
            list[0] = new s1();
            list[1] = new s2();


            list[0].printInfo();
            list[1].printInfo();




            Console.ReadLine();
        }
    }
} 
c#多态的示例分享

c#多态的示例分享

C#中sealed关键字有什么用途呢?


摘要:
下文讲述c#中sealed关键字的功能说明,如下所示;


sealed关键字功能简介

sealed关键字功能:
此关键字用于生成密封类,密封方法

  
访问修饰符  sealed class  类名
{
    //类成员

}
 
注意事项:
    1.密封类不能被继承
    2.密封方法不能被重写
    密封方法,密封类常用于一些禁止被人重写的类和方法中 
    sealed关键字常同overrid关键字一起使用
 

例:

 namespace consoleTest
{ 
    //此类不能被继承
    sealed class t {
        public void printInfo() {
            Console.WriteLine("test");
        }
    }
}  

C#中abstract关键字有什么用途呢?


摘要:
下文讲述c#中abstract关键字的功能说明,如下所示;


abstract关键字功能简介

abstract关键字功能:
abstract关键字的功能是申明一个抽象类或申明一个抽象方法
abstract抽象方法:是一种只包含方法定义,不包含方法实现的语法形式。
例:

  
访问修饰符  abstract class  类名
{
    //类成员

}
 
注意事项:
    1.抽象方法必须放于在抽象类中	
    2.抽象方法定义的后面的分号不可以省略,必须保留
    3.抽象类中,可以定义抽象方法和非抽象方法
    4.抽象类通常会被其它类继承,然后重写其抽象方法
    5.抽象类不能被实例化,它代表一个功能

例:

 
namespace consoleTest
{

      abstract class main {
        public string keyId;


        public abstract void  printInfo();

       }

    class s1 : main
    {
        public override void printInfo()
        {
            Console.WriteLine("");
        }
    }

    class s2 : main
    {
        public override void printInfo()
        {
            Console.WriteLine("");
        }
    }
}