728x90
반응형
일반적인 자를 기본 클래스로 하고 삼각자와 직선자를 클래스로 표현해 보자
using System;
//자 클래스(기본 클래스)
class Ruler
{
protected string material = "플라스틱"; //재질
protected string getInfo()
{
return "소재는" + material + "입니다.";
}
}
//삼각자 클래스
class TriangleRuler : Ruler
{
double[] angles = new double[3]; //각
double short_side; //짧은 변
public TriangleRuler(double a1, double a2, double s)
{
angles[0] = a1;
angles[1] = a1;
angles[2] = 180.0 - a1 - a2;
short_side = s;
}
public TriangleRuler(double a1, double a2, double s, string m)
{
angles[0] = a1;
angles[1] = a2;
angles[2] = 180.0 - a1 - a2;
short_side = s;
material = m;
}
public new string getInfo()
{
string s;
s = "이 삼각자는 세 꼭짓점의 각도가 각각"
+ angles[0] + "º," + angles[1] + "º,"
+ angles[2] + "º이며, 가장 짧은 변의 길이는 "
+ short_side + "mm입니다.";
s += base.getInfo();
return s;
}
}
//직선자 클래스
class LineRuler : Ruler
{
int length; //측정하는 길이
public LineRuler(int l, string m)
{
length = l;
material = m;
}
public new string getInfo()
{
string s;
s = "이 직선자는 " + length / 10.0 + "cm까지 잴 수 있습니다.";
s += base.getInfo();
return s;
}
}
//Main()메소드의 클래스
class Program
{
static void Main()
{
TriangleRuler tr1 = new TriangleRuler(45.0, 45.0, 150.0);
TriangleRuler tr2 = new TriangleRuler(45.0, 45.0, 200.0, "스테인리스");
TriangleRuler tr3 = new TriangleRuler(30.0, 60.0, 100.0);
LineRuler lrl = new LineRuler(300, "대나무");
Console.WriteLine(tr1.getInfo());
Console.WriteLine(tr2.getInfo());
Console.WriteLine(tr3.getInfo());
Console.WriteLine(tr1.getInfo());
}
}
//출력
이 삼각자는 세 꼭짓점의 각도가 각각45º,45º,90º이며, 가장 짧은 변의 길이는 150mm입니다.소재는플라스틱입니다.
이 삼각자는 세 꼭짓점의 각도가 각각45º,45º,90º이며, 가장 짧은 변의 길이는 200mm입니다.소재는스테인리스입니다.
이 삼각자는 세 꼭짓점의 각도가 각각30º,30º,90º이며, 가장 짧은 변의 길이는 100mm입니다.소재는플라스틱입니다.
이 삼각자는 세 꼭짓점의 각도가 각각45º,45º,90º이며, 가장 짧은 변의 길이는 150mm입니다.소재는플라스틱입니다.
계속하려면 아무 키나 누르십시오 . . .
728x90
반응형
'프로그래머 > 코딩(C#)개념정리' 카테고리의 다른 글
C#_클래스의응용 (0) | 2023.05.02 |
---|---|
C#_클래스의상속_알아두면좋은 C#상식_수치 리터럴 (0) | 2023.05.01 |
C#_클래스의상속_구조 (0) | 2023.04.20 |
C#_클래스의상속_오버라이드_2 (0) | 2023.04.19 |
C#_클래스의상속_오버라이드_1 (0) | 2023.04.16 |