2019-10-17 19일차 클래스의 상속 (2) + get, set 사용
Console Programming/C# Console 2019. 10. 17. 14:46Mamal 클래스
----------------------
name
age
----------------------
Cry( )
----------------------
Cat : Mamal
----------------------
야옹하고 운다
Dog : Mamal
----------------------
멍멍하고 운다
Mamal클래스의 멤버필드를 private로 설정하고 get; set;을 이용해서 데이터에 접근한다.
Cat, Dog는 Mamal을 상속하므로 각자 Cry( ) 메서드를 재정의 해서 사용할 수 있다.
Program.cs
namespace Syntax04
{
class Program
{
static void Main(string[] args)
{
new App();
}
}
}
App.cs
using System;
namespace Syntax04
{
public class App
{
public App()
{
var cat1 = new Cat();
cat1.Name = "치즈태비 고양이";
cat1.Age = 4;
Console.WriteLine($"cat1의 나이:{cat1.Age}");
var dog1 = new Dog();
dog1.Name = "레브라도 리트리버";
dog1.Age = -5;
Console.WriteLine($"dog1의 나이:{dog1.Age}");
cat1.Cry();
dog1.Cry();
}
}
}
Mamal.cs
using System;
namespace Syntax04
{
public class Mamal
{
public string Name { get; set; }
private int age;
public int Age
{
get
{
return age;
}
set
{
if (value < 0)
{
Console.WriteLine("나이는 음수가 될 수 없습니다.");
}
else
this.age = value;
}
}
public Mamal()
{
}
public virtual void Cry()
{
}
}
}
Cat.cs
using System;
namespace Syntax04
{
public class Cat : Mamal
{
public override void Cry()
{
Console.WriteLine($"{this.Name}가 야옹 하고 웁니다.");
}
}
}
Dog.cs
using System;
namespace Syntax04
{
public class Dog : Mamal
{
public override void Cry()
{
Console.WriteLine($"{this.Name}가 멍멍 하고 웁니다.");
}
}
}
'Console Programming > C# Console' 카테고리의 다른 글
2019-10-17 19일차 클래스의 상속 뽑기상자, json사용, get;set사용 , rand.Next사용 (0) | 2019.10.18 |
---|---|
2019-10-17 19일차 클래스의 상속 (3) 부모의 생성자 상속 (0) | 2019.10.17 |
2019-10-17 19일차 클래스의 상속 (0) | 2019.10.17 |
2019-10-17 19일차 get,set 몬스터와 몬스터데이터 get,set으로 만들고 접근하기 (0) | 2019.10.17 |
2019-10-17 19일차 get,set (0) | 2019.10.17 |