728x90
반응형
**속성과 인덱서도 오버라이드 할 수 있다.
속성의 오버라이드
속성도 오버라이드 할 수 있지만 각각 이름, 인수, 반환 값의 형이 같아지도록 주의해야 한다.
인덱서의 오버라이드
인덱서의 오버라이드도 속성과 같도록 한다.
코딩 ex)
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 thisp[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.Write(word2[i]);
}
Console.Write("\n");
}
}
//출력
___Word
*___3문자만큼의 공백이 빈다
728x90
반응형
'프로그래머 > 코딩(C#)개념정리' 카테고리의 다른 글
C#_클래스의상속_예제프로그램_자의변형 (0) | 2023.04.22 |
---|---|
C#_클래스의상속_구조 (0) | 2023.04.20 |
C#_클래스의상속_오버라이드_1 (0) | 2023.04.16 |
C#_클래스의상속_이름의 은폐 (0) | 2023.04.12 |
C#_클래스의상속_생성자와 상속 (0) | 2023.04.12 |