[디자인 모델] 추상 적 인 방법 과 가상 방법의 차이

2054 단어 디자인 모드
1. 추상 적 인 방법
추상 클래스 에서 만 정의 할 수 있 습 니 다.
방법의 수식 자 는 private virtual static 에 의 해 수식 되 지 않 습 니 다.
추상 적 인 방법 은 다음 과 같다.
public abstract class People   //       
{
   public abstract void study();  //             。
}
public class Student:People   //     
{
     public  override void study()     //          
     {
            Console.WriteLine("    ,    !");
     }
}
public class Program
{
    static void Main(string[] args)
{
      Student t= new Student();//      
      People  p= t;   //             
       //         
      //People p = new Student();//             ;
      p.study(); //                  study    
}
}

요약: 
(1) 추상 적 인 방법 은 추상 류 에서 만 설명 할 수 있 고 키워드 abstract 를 사용 할 수 있다.
(2) 추상 류 중의 추상 적 인 방법 은 반드시 이불 류 에 다시 써 야 한다.
[추상 적 인 방법 은 방법 체 가 없고 자 류 는 반드시 방법 체 를 다시 써 야 한다!! 따라서 추상 적 인 방법 은 방법 체 가 없 는 허위 방법 으로 볼 수 있다]
 
가상 방법:
가상 수식 을 사용 하 는 방법:
허법 에는 방법 체 가 있 을 수 있다.구체 적 인 예 는 다음 과 같다.
public class BaseClass         //      
{
    public virtual string GetName()    //  virtual            
    {
             return "      ":     
     }
}
public class SubClass:BaseClass    //      
{
     public override string GetName();   //         
      {
               return "       !";
       }
}

이상 의 예: 아버지 류 중의 허 방법 은 파생 류 에 의 해 재 작성 되 었 다.
주의사항: virtual 수식 자 는 private, static, abstract, override 수식 자 와 동시에 사용 할 수 없습니다.
ps: override 수식 자 는 new, static, virtual 수식 자 와 동시에 사용 할 수 없 으 며, 재 작성 방법 은 기본 클래스 의 가상 방법 을 재 작성 하 는 데 만 사용 할 수 있 습 니 다.
 
 
3. 둘 의 차이:
요약: 추상 적 인 방법 은 방법 명칭 만 있 고 방법 체 (즉 구체 적 으로 실현 할 방법 이 없다) 가 없 으 며 자 류 는 반드시 아버지 류 의 추상 적 인 방법 을 다시 써 야 한다.
           가상 함 수 는 이 방법 에 방법 체 가 있 지만 하위 클래스 는 덮어 쓸 수도 있 고 덮어 쓰 지 않 을 수도 있 습 니 다.
(1) 허법 에는 방법 체 가 있 고 추상 적 인 방법 에는 방법 체 가 없다.추상 적 인 방법 은 파생 류 를 강제로 덮어 쓰 는 방법 이다. 그렇지 않 으 면 파생 류 는 실례 화 될 수 없다.
(2) 추상 적 인 방법 은 추상 류 에서 만 설명 할 수 있 고 가상 방법 은 그렇지 않다.
(3) 파생 류 는 추상 류 중의 추상 적 인 방법 을 다시 써 야 하고 허 방법 은 필요 없다.

좋은 웹페이지 즐겨찾기