본문 바로가기
프로그래머/코딩(C#)개념정리

C#_클래스의상속_오버라이드_2

by FourthWay 2023. 4. 19.
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
반응형