회원 로그인
|
오버라이드 (override)
오버라이드 (override)
기본 클래스의 메소드는 파생 클래스에서 덮어쓸 수 있다.
메소드의 오버라이드
override(오버라이드)란 상속한 메소드와 같은 이름, 같은 인수의 메소드를 작성하고 메소드를 덮어쓸 수 있는 것을 말한다. 반환 값의 형도 같아야 한다.
안녕히 가세요.
건강하세요!
속성의 오버라이드
속성도 오버라이드할 수 있지만 각각 이름, 인수, 반환 값의 형이 같아야 한다.
인덱서의 오버라이드
인덱서의 오버라이드도 속성과 같도록 한다.
#i가 3 이상인 경우 값을 배열에 대입하도록 덮어 쓰고 있다.
#3문자 만큼의 공백이 빈다.
___Word
참고 서적> c#이 보이는 그림책
기본 클래스의 메소드는 파생 클래스에서 덮어쓸 수 있다.
메소드의 오버라이드
override(오버라이드)란 상속한 메소드와 같은 이름, 같은 인수의 메소드를 작성하고 메소드를 덮어쓸 수 있는 것을 말한다. 반환 값의 형도 같아야 한다.
class Greeting { public virtual void bye() { //오버라이드 되는 메소드에는 virtual 키워드를 붙인다. Console.WriteLine("Good bye"); } } ...... Greeting greeting_ = new Greeting(); greeting_.bye(); ...... class Aisatsu : Greeting { public override void bye() { Console.WriteLine("안녕히 가세요."); } } ...... Aisatsu sisatsu_ = new Aisatsu(); aisatsu_.bye(); ......
//예 //override와 new 참고 using System; class Greeting { public virtual void bye() { Console.WriteLine("good bye."); } } class Aisatsu : Greeting { public override void bye() { Console.WriteLine("안녕히 가세요."); } public void cheer() { Console.WriteLine("건강하세요!"); } } class Owakare { public static void Main() { Aisatsu aisatsu_ = new Aisatsu(); aisatsu_.bye(); aisatsu_.cheer(); } }#결과
안녕히 가세요.
건강하세요!
속성의 오버라이드
속성도 오버라이드할 수 있지만 각각 이름, 인수, 반환 값의 형이 같아야 한다.
class Suisou1 { public int num_; public virtual int kingyoNum_ { get { return num_; } set { num_ = value; } } } class Suisou2 : Suisou1 { public overrid int kingyoNum_ { get { return num_; } set { if(value <= 4) num_ = value; } } } static void Main() { Suisou2 suisou2_ = new Suisou2(); suisou2_.kingyoNum_ = 7; Console.WriteLine("수조에 금붕어가" + suisou2_.kingyoNum_ + "마리"); ...... }
인덱서의 오버라이드
인덱서의 오버라이드도 속성과 같도록 한다.
//예 using System; class Word1 { public char_[] word = new char_[7]; public virtual char this[int i_] { get { return word[i_]; } set { if (i_ >= 0) word[i] = value; } } } class Word2 : Word1 { public override char this[int i_] { get { return word_[i_]; } set { if (i_ <= 3) word_[i_] = value; } } } class WordSample { static void Main() { Word2 word2_ = new Word2(); word2_[0] = 'k'; word2_[1] = 'e'; word2_[2] = 'y'; word2_[3] = 'w'; word2_[4] = 'o'; word2_[5] = 'r'; word2_[6] = 'd'; int i_; for (i_ = 0; i_ <= 6; i_++) { Console.WriteLine(word2_[i_]); } Console.Write("\n"); } }#결과
#i가 3 이상인 경우 값을 배열에 대입하도록 덮어 쓰고 있다.
#3문자 만큼의 공백이 빈다.
___Word
참고 서적> c#이 보이는 그림책
댓글 0개
| 엮인글 0개
285개(1/15페이지)
번호 | 제목 | 글쓴이 | 조회 | 날짜 |
---|---|---|---|---|
285 | [Python] 동적 import - 모듈을 변수로 받아오기 | 푸딩뱃살 | 412 | 2022.10.27 10:45 |
284 | [Python] 파이썬 3.7.7과 3.9.7의 os.path.expanduser() 차이 | 푸딩뱃살 | 455 | 2022.08.18 12:22 |
283 | [Python] error: Microsoft Visual C++ 9.0 is required. | 푸딩뱃살 | 684 | 2022.08.03 13:35 |
282 | [Python] pyscript | 푸딩뱃살 | 452 | 2022.06.09 11:21 |
281 | [Python] float is / float not is | 푸딩뱃살 | 593 | 2022.03.02 15:03 |
280 | [Python] 이터널 문자열 f | 푸딩뱃살 | 833 | 2022.01.27 16:35 |
279 | [Python] is와 ==의 차이 | 푸딩뱃살 | 485 | 2021.11.25 15:54 |
278 |
[Python] Error: ImportError: file |
푸딩뱃살 | 916 | 2021.11.16 11:24 |
277 | [Python] 파이썬 디컴파일 - uncompyle6 | 푸딩뱃살 | 774 | 2021.11.10 14:46 |
276 | [Python] 파이썬 확장자 설명 | 푸딩뱃살 | 550 | 2021.11.03 14:38 |
275 | [참고] 웹 fbx 뷰어 | 푸딩뱃살 | 470 | 2021.10.19 15:46 |
274 | [Python] enumerate() | 푸딩뱃살 | 500 | 2021.10.13 14:44 |
273 | [Python] 아나콘다에서 가상 환경 | 푸딩뱃살 | 718 | 2020.11.21 00:26 |
272 | [Python] pip로 설치 때 퍼미션 에러 | 푸딩뱃살 | 1264 | 2020.06.06 17:13 |
271 | [Python] OpenCV 10-3. 이미지 Thresholding - Otsu's Binarizatio | 푸딩뱃살 | 673 | 2020.06.05 14:01 |
270 | [Python] OpenCV 10-2. 이미지 Thresholding - Adaptive Threshold | 푸딩뱃살 | 693 | 2020.06.05 13:58 |
269 | [Python] OpenCV 10-1. 이미지 Thresholding | 푸딩뱃살 | 578 | 2020.06.05 13:56 |
268 | [Python] OpenCV 9-2. 색 추적 | 푸딩뱃살 | 771 | 2020.06.02 23:29 |
267 | [Python] OpenCV 9-1. 색공간 바꾸기 | 푸딩뱃살 | 639 | 2020.06.02 23:27 |
266 | [Python] OpenCV 8-3. 이미지 비트 연산 | 푸딩뱃살 | 528 | 2020.06.02 23:21 |