디자인 모델 학습 노트 2: 대상 지향 기초 2

1. 클래스 와 인 스 턴 스    대상 은 자체 적 으로 포 함 된 실체 로 식별 가능 한 특성 과 행위 로 표시 한다.모든 사물 을 대상 으로 하 는 대상 은 바로 볼 수 있 고, 느끼 고, 듣 고, 만 지고, 맛 보고, 맡 을 수 있 는 것 이다.    클래스 는 같은 속성 과 기능 을 가 진 대상 의 추상 적 인 집합 이다.  
public class Cat
        {
            //       ,   private,       3
            private int shoutnum = 3;
            //ShoutNum  ,   public,       
            //get           shoutnum  
            //set          shoutnum  
            public int ShoutNum
            {
                get { return shoutnum; }
                set { shoutnum = value; }
            }
        }

 
위 코드 의 private 와 Public 는 모두 수정자 입 니 다.Public 는 수식 하 는 클래스 구성원 들 이 다른 모든 종류의 방문 을 허용 할 수 있다 고 밝 혔 다.private 는 같은 클래스 의 구성원 만 방문 할 수 있 으 며, 다른 클래스 는 그의 하위 클래스 를 포함 하여 접근 할 수 없 으 며, 속명 은 개인 적 인 것 이 라 고 밝 혔 다.클래스 의 구성원 이 수정자 가 없 으 면 기본 값 은 private 입 니 다.보통 필드 는 private 이 고 속성 은 Public 입 니 다.일반적으로 속성 이름 의 이니셜 은 대문자 이 고 필드 는 이니셜 소문 자 나 앞 에 '' 을 추가 합 니 다.    속성 은 get 과 set 두 가지 방법 이 있 습 니 다.get 접근 기 는 성명 의 속성 과 같은 데이터 형식 을 되 돌려 줍 니 다. 호출 은 내부 필드 의 값 이나 인용 을 얻 을 수 있다 는 뜻 입 니 다.set 접근 기 는 파 라 메 터 를 설정 하지 않 았 습 니 다. 키워드 value 로 표시 합 니 다. 그의 역할 은 속성 을 호출 하여 내부 필드 나 할당 을 참조 할 수 있 습 니 다.포장 하 다    패 키 징 은 대상 을 대상 으로 하 는 세 가지 특성 중 하나 이다.모든 대상 은 그 가 조작 할 수 있 는 데 필요 한 모든 정 보 를 포함 하고 있 으 며, 이 특성 은 패키지 가 되 어 있 으 며, 대상 은 다른 대상 에 의존 하여 자신의 조작 을 완성 할 필요 가 없 기 때문이다.    포장 의 장점: 좋 은 포장 은 결합 을 감소 시 킬 수 있다.클래스 내부 의 실현 은 자 유 롭 게 수정 할 수 있다.클래스 는 뚜렷 한 대외 인 터 페 이 스 를 가지 고 있다.이어받다     대상 을 향 한 두 번 째 특징 은 계승 이다.대상 의 상속 은 일종 의 'is - a' 의 관 계 를 대표 하 는데 만약 에 두 대상 의 A 와 B 가 'B 는 A' 라 고 묘사 할 수 있다 면 B 는 A 를 계승 할 수 있다 는 것 을 나타 낸다.고양 이 는 포유동물 로 고양이 와 포유동물 간 의 계승 과 계승 관 계 를 설명 한다.상속 자 는 피 상속 자의 특성 외 에 도 자신 만 의 개성 을 갖 추고 있 기 때문에 피 상속 자의 특수화 로 이해 할 수 있다.계승 은 클래스 가 어떻게 서로 관련 되 고 특성 을 공유 하 는 지 정의 합 니 다.계승 하 는 작업 방식 은 부류 와 자 류 를 정의 하거나 기류 와 파생 류 라 고 하 는데 그 중에서 자 류 는 부류 의 모든 특성 을 계승 하 는 것 이다.자 류 는 부류 의 모든 특성 을 계승 할 뿐만 아니 라 새로운 특성 도 정의 할 수 있다.    만약 에 자 류 가 아버지 류 에 계승 된다 면 첫째, 자 류 는 아버지 류 가 private 가 아 닌 속성 과 기능 을 가진다.둘째, 자 류 는 자신의 속성 과 기능 을 가진다. 즉, 자 류 는 부모 류 에 없 는 속성 과 기능 을 확장 할 수 있다.셋째, 자 류 는 자신의 방식 으로 부류 의 기능 (방법 재 작성) 을 실현 할 수 있다.    protected 는 상속 시 하위 클래스 가 기본 클래스 에 대해 완전한 접근 권 을 가 질 수 있 음 을 나타 낸다.즉, proctected 수식 클래스 의 구성원 은 하위 클래스 에 대해 공개 하지만 다른 클래스 에 대해 서 는 공개 하지 않 는 다 는 것 이다.자 류 는 부 류 를 계승 하면 기 류 는 부 류 를 제외 한 속성 과 기능 을 가진다.    동물 기류:    
public class Animal
        {
            protected string name = "";
            public Animal(string name)
            {
                this.name = name;
            }
            public Animal()
            {
                this.name = "  ";
            }
            protected int shoutNum = 3;

            public int ShoutNum
            {
                get { return shoutNum; }
                set { shoutNum = value; }
            }
        }

 
고양이 종류: 
public class Cat : Animal
        {
            public Cat()
                : base()
            { }

            public Cat(string name)
                : base(name)
            { }
            public string Shout()
            {
                string result = "";
                for (int i = 0; i < shoutNum; i++)
                {
                    result = result + " ,";
                }
                return "     " + name + " " + result; 

            }
        }

 
개 종류: 
public class Dog : Animal
        {
            public Dog()
                : base()
            { }

            public Dog(string name)
                : base(name)
            { }
            public string Shout()
            {
                string result = "";
                for (int i = 0; i < shoutNum; i++)
                {
                    result = result + " ,";
                }
                return "     " + name + " " + result; 

            }
        }

  하위 클래스 가 그의 부모 클래스 에서 계승 하 는 구성원 은 방법, 도 메 인, 속성, 사건, 색인 표시 기 가 있 지만 구조 방법 에 대해 서 는 계승 되 지 못 하고 호출 될 수 밖 에 없다.부모 클래스 를 호출 하 는 구성원 에 대해 서 는 base 키 워드 를 사용 할 수 있 습 니 다.     계승 의 장점 은 모든 하위 클래스 의 공공 부분 을 부모 클래스 에 두 고 코드 를 공유 하 는 것 이다. 그러면 중복 을 피 할 수 있다. 또한 계승 은 수정 과 확장 을 통 해 계승 을 실현 하 는 것 이 비교적 쉽다.    계승의 단점 은 아버지 가 변 하면 자 류 는 변 할 수 밖 에 없다 는 것 이다.계승 은 포장 을 파괴 하고 부 류 는 세부 적 인 부분 을 하위 클래스 에 노출 시킨다.

좋은 웹페이지 즐겨찾기