c# 가상 방법(virtual)과 추상적 방법(abstract)의 차이

9006 단어 abstract
공통점:
가상 방법 (virtual) 과 추상적 방법 (abstract) 은 모두 파생 클래스에 의해 다시 쓸 수 있다
차이점:
1. 가상 방법(virtual)에는 방법 실체가 있고 추상적 방법(abstract)에는 방법 실체가 없다[유사 인터페이스]

  
virtual void SayWord()
{
//
}
abstract void SayWord();

 2.가상 방법(virtual)은 파생 클래스에서 다시 쓰지 않아도 되고, 추상적 방법(abstract) 파생 클래스에서는 [유사 인터페이스]를 다시 써야 한다.

  
abstract class Person
{
abstract void SayName();
}
class Man:Person
{
override void SayName()
{
//
}
}

 3.추상적 방법 (abstract) 은 추상적 클래스에 성명해야 한다
인스턴스 코드는 다음과 같습니다.

  
class Program
{
static void Main( string [] args)
{
Cat cat
= new Cat( " " , " 2 " );
cat.Eat();
//
cat.ShowName();
Console.ReadKey();
       // :
        
         , 2  
}
}

public abstract class Animal
{
protected string name;

public string Name
{
get { return name; }
set { name = value; }
}
protected string age;

public string Age
{
get { return age; }
set { age = value; }
}

/// <summary>
///
/// </summary>
public virtual void ShowName()
{
Console.WriteLine(
" {0}, {1} " , this .name, this .age);
}
/// <summary>
///
/// </summary>
public abstract void Eat();


}

public class Cat : Animal
{
/// <summary>
///
/// </summary>
public override void Eat()
{
Console.WriteLine(
" " );
}

public Cat( string name, string age)
{
this .name = name;
this .age = age;
}
}

좋은 웹페이지 즐겨찾기