c# 가상 방법(virtual)과 추상적 방법(abstract)의 차이
9006 단어 abstract
가상 방법 (virtual) 과 추상적 방법 (abstract) 은 모두 파생 클래스에 의해 다시 쓸 수 있다
차이점:
1. 가상 방법(virtual)에는 방법 실체가 있고 추상적 방법(abstract)에는 방법 실체가 없다[유사 인터페이스]
virtual
void
SayWord()
{
//
}
abstract
void
SayWord();
2.가상 방법(virtual)은 파생 클래스에서 다시 쓰지 않아도 되고, 추상적 방법(abstract) 파생 클래스에서는 [유사 인터페이스]를 다시 써야 한다.
abstract
class
Person
{
abstract
void
SayName();
}
class
Man:Person
{
override
void
SayName()
{
//
}
}
3.추상적 방법 (abstract) 은 추상적 클래스에 성명해야 한다
인스턴스 코드는 다음과 같습니다.
class
Program
{
static
void
Main(
string
[] args)
{
Cat cat
=
new
Cat(
"
"
,
"
2
"
);
cat.Eat();
//
,
cat.ShowName();
Console.ReadKey();
// :
, 2
}
}
public
abstract
class
Animal
{
protected
string
name;
public
string
Name
{
get
{
return
name; }
set
{ name
=
value; }
}
protected
string
age;
public
string
Age
{
get
{
return
age; }
set
{ age
=
value; }
}
///
<summary>
///
///
</summary>
public
virtual
void
ShowName()
{
Console.WriteLine(
"
{0}, {1}
"
,
this
.name,
this
.age);
}
///
<summary>
///
///
</summary>
public
abstract
void
Eat();
}
public
class
Cat : Animal
{
///
<summary>
///
,
///
</summary>
public
override
void
Eat()
{
Console.WriteLine(
"
"
);
}
public
Cat(
string
name,
string
age)
{
this
.name
=
name;
this
.age
=
age;
}
}
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
[Java] 객체지향 프로그래밍 - 제어자제어자Modifier는 클래스, 변수 또는 메서드의 선언부에 함께 사용되어 부가적인 의미를 부여할 수 있어요. 제어자의 종류는 크게 접근 제어자와 그 외의 제어자로 나눌 수 있어요. 접근 제어자 : public, p...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.