using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace Test
{
class Overriding03
{
static void Main(string[]
args)
{
Time t1 = new Time(5, 20);
Console.WriteLine(t1.GetTime());
DateTime t2 = DateTime.Now;
//원형
Console.WriteLine(t2.ToString()) 내부적으로 ToString을
강제 호출한다.
Console.WriteLine(t2);
Console.WriteLine(t1);
//System.Object 클래스의 메서드 : ToString()
// -> 현재 자료형의 이름을 string형으로
반환해주는 것
MyRandom rnd =
new MyRandom();
Console.WriteLine(rnd.Next());
}
}
//보통 클래스를 만들떄 ToString()을
오버라이드 한다.
class Time
{
private int hour;
private int min;
public Time(int hour, int min)
{
this.hour = hour;
this.min = min;
}
public string GetTime()
{
//12:30
//return this.hour +
":" + this.min;
return string.Format("{0}:{1}",
this.hour, this.min);
}
//override로 내맘대로 정의
public override string
ToString()
{
return string.Format("{0}:{1}",
this.hour, this.min);
}
}
//난수 발생 응수(-10-0), 양수난수X
class MyRandom
: Random
{
public override int Next()
{
//base : 부모 객체(인스턴스), 부모
//this : 현재 객체(인스턴스), 자식
return -base.Next(11);
}
}
}