무엇이 다태입니까?왜 다태를 씁니까?무슨 좋은 점이 있습니까?다태는 어디에서 쓰입니까?

2775 단어
무엇이 다태입니까?
개념: 같은 조작이 서로 다른 대상에 작용하면 서로 다른 해석을 하고 서로 다른 집행 결과를 낼 수 있는데 이것이 바로 다태성이다.간단하게 말하면 기류의 인용으로 자류를 가리키는 대상이다.
 
왜 다태를 써야 합니까?
원인: 우리는 봉인이 세부 사항을 숨기고 코드를 모듈화할 수 있다는 것을 안다.존재하는 코드 모듈(클래스)을 확장할 수 있음;그것들의 목적은 모두 코드를 다시 사용하기 위해서이다.멀티태스킹은 코드의 복용성을 제외하고 프로젝트 중의 우연한 문제를 해결하고 프로그램의 확장성을 높일 수 있다.결합도는 모듈 사이, 코드 코드 코드 간의 연관도를 말한다. 시스템에 대한 분석을 통해 그를 하나의 서브 모듈로 분해하고 서브 모듈은 안정적인 인터페이스를 제공하여 시스템의 결합도를 낮추는 목적을 달성한다. 모듈 간에 모듈 인터페이스를 사용하여 다른 모듈의 구성원 변수를 함부로 인용하지 않고 방문한다.
 
다태는 어떤 좋은 점이 있습니까?
다음과 같은 두 가지 이점이 있습니다.
1. 응용 프로그램은 모든 파생 클래스의 컴파일 기능을 호출할 필요가 없고 추상적인 기본 클래스만 처리하면 된다.프로그램의 복용성을 크게 높이다.계승파생류의 기능은 기류의 방법이나 인용 변수에 의해 호출될 수 있는데 이를 뒤로 호환하는 것으로 확충성과 유지보수성을 높일 수 있다.//다태적 진정한 역할,
 
다태는 어디에서 쓰입니까?
방법의 매개 변수와 방법의 반환 형식에 사용할 수 있습니다.
메서드의 매개변수는 다음 예를 참조하십시오.
   public abstract class Driver
    {
        public void run();//      
    }


class SBenz : Driver
    {
        public void run()
        {
            Console.WriteLine("Benz  200     run");
        }
    }




 class JD : Driver
    {
        public void run()
        {
            Console.WriteLine("JD is running...");
        }
    }


 class Person
    {
        private Driver driver;
        public Person()
        {

        }
        public Person(Driver driver)
        {
            this.driver = driver;
        }
        public void drive()
        {
            driver.run();
        }
        public void setDriver(Driver driver)
        {//      ,           
            this.driver = driver;
        }
   }




static void Main(string[] args)
        {
            Person p = new Person();
            JD jd = new JD();//        JD 
            p.setDriver(jd);
            p.drive();
            SBenz benz = new SBenz();//     
            p.setDriver(benz);
            p.drive();
        }

 
메서드의 반환 유형에서 다음 예를 참조하십시오.
위의 예에서 JD든 Benz든 모두 우리 스스로 직접 new에서 나온 것이다.우리는 전문적으로 자동차를 생성하는 공장류를 설계할 수 있다
/***메소드의 반환 유형에 멀티태스킹을 사용할 것입니다.*Driver는 추상 클래스 또는 인터페이스일 수 있으며 JD와 Benz는 각각 클래스를 상속하거나 이 핑계를 실현할 수 있습니다.
*/
 public class CarFactory
    {
        public Driver factory(String carName)
        {
            if (carName.Equals("JD"))
            {
                return new JD();
            }

            else if (carName.Equals("Benz"))
            {
                return new SBenz();
            }

            else
            {
                Console.WriteLine("   ,   ");
                return null;
            }
        }
    }

이것은 사실상 디자인 모델 중의 간단한 공장 모델이다!
유형의 매개변수.,매개 변수를 전송할 때 어떤 종류의 대상도 전송할 수 있습니다. 대응하는 클래스의 대상 이름만 있으면 됩니다. 이것이 바로 다중적인 응용입니다!
전재 대상:https://www.cnblogs.com/hai-ping/articles/2807750.html

좋은 웹페이지 즐겨찾기