는 몇 가지 방법을 구현해야한다는 주문처럼,
너무 차이가 무엇, interface
및 abstract function
모두 매우 유사하다는 것을 나에게 보인다?
는 몇 가지 방법을 구현해야한다는 주문처럼,
너무 차이가 무엇, interface
및 abstract function
모두 매우 유사하다는 것을 나에게 보인다?
인용 : (전자 satis에 의해 매우 좋음 Explantion)
인터페이스를
인터페이스는 계약이다 : 사람은 인터페이스가 봐 "라고 쓰고, 나는 그런 식으로 보이는 것을 받아들입니다. "인터페이스를 사용하는 사람은"좋아요, 수업은 저렇게 씁니다 "라고 말합니다.
인터페이스는 빈 쉘입니다. 메소드의 서명 (이름/매개 변수/반환 유형) 만 있습니다. 이 메소드에는 아무것도 포함되어 있지 않습니다. 인터페이스는 아무 것도 할 수 없습니다. 그것은 단지 패턴입니다.
예 : (의사 코드) : 그것은 클래스, 이름 만 무리하지, 그리고 그에 할 수있는 고가의 조회가 없기 때문에 인터페이스를 구현
// I say all motor vehicles should look like that :
interface MotorVehicle
{
void run();
int getFuel();
}
// my team mate complies and write vehicle looking that way
class Car implements MotoVehicle
{
int fuel;
void run()
{
print("Wrroooooooom");
}
int getFuel()
{
return this.fuel;
}
}
는 거의 CPU를 소비한다. 임베디드 장치와 같이 중요 할 때 유용합니다.
추상 클래스
추상 클래스, 인터페이스와 달리 클래스입니다. 당신이 그들로부터 물려받을 때해야 할 룩업이 있기 때문에 사용하는 것이 더 비쌉니다.
추상 클래스는 인터페이스와 비슷하지만 더 많은 것을 가지고 있습니다. 즉, 클래스에 대한 동작을 정의 할 수 있습니다. "이 수업은 그렇게 보일 것입니다. 공통점이 있으므로 공백을 채워주세요!"라고 말하는 사람에 관한 것입니다.
예컨대 : 다중 상속이없는 언어에서 https://stackoverflow.com/users/9951/e-satis
는 차이가 매우 중요하다으로
// I say all motor vehicles should look like that :
abstract class MotorVehicle
{
int fuel;
// they ALL have fuel, so why let others implement that ?
// let's make it for everybody
int getFuel()
{
return this.fuel;
}
// that can be very different, force them to provide their
// implementation
abstract void run();
}
// my team mate complies and write vehicle looking that way
class Car extends MotorVehicule
{
void run()
{
print("Wrroooooooom");
}
}
. PHP 또는 Java 용어에서 클래스는 여러 인터페이스를 구현할 수 있지만 단일 상위 클래스 (상속 일 수 있음)에서만 상속 할 수 있습니다.
예를 들어, C++에서는 구분이 덜 중요해진다.
중복 http://stackoverflow.com/questions/1221512/abstract-class-and-interface-class –
다른 중복 http://stackoverflow.com/questions/761194/interface-vs-abstract-class-general- oo –
죄송합니다. ** typo **입니다. 추상적 인 기능을 의미합니다. – user198729