C\#계승 에 대한 간단 한 응용 코드 분석
추상 클래스 설명
//
abstract class Shape
{
//
public abstract double ComputerArea();
}
성명 하위 클래스
// Shape
class Circle : Shape
{
private double _radius;
//
public Circle(double radius) => _radius = radius;
//
public override double ComputerArea()
{
return _radius * _radius * Math.PI;
}
}
// Shape
class Rectangle : Shape
{
private double _width;
private double _height;
//
public Rectangle(double width, double height)
{
_width = width;
_height = height;
}
//
public override double ComputerArea()
{
return _width * _height;
}
}
// Shape
class Triangle : Shape
{
private double _bottom;
private double _height;
//
public Triangle(double bottom, double height)
{
_bottom = bottom;
_height = height;
}
//
public override double ComputerArea()
{
return _bottom * _height / 2;
}
}
선언 컴 퓨 팅 클래스
//
class Calculate
{
// ,
public void Calc(Shape shape)
{
Console.WriteLine($"{shape.GetType().Name} :{shape.ComputerArea()}");
}
}
테스트
class Program
{
static void Main(string[] args)
{
var circle = new Circle(5);
var rect = new Rectangle(5, 10);
var triangle = new Triangle(6, 8);
var calc = new Calculate();
calc.Calc(circle);
calc.Calc(rect);
calc.Calc(triangle);
}
}
실행 결과실제로 이 방법 만 이 루어 진다 면 계승 인터페이스 도 가능 하 다!
인 스 턴 스 확장:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
/**
* :
* java java , Jpro ;
* C# C# , Cpro 。
* WriteCode() 。
* , Programmer 。
* , 。
*/
namespace inheritApplication
{
// ( )
class Programmer
{
public string name = " ";
}
//java
class Jpro
{
public string name = "java ";
public string language = " java ";
}
//C
class Cpro
{
public string name = "C# ";
public string language = " C# ";
}
//
class Pro : Programmer //
{
public void WriteProgram(Jpro program) // java
{
Console.WriteLine("" + program.name + ":" + name + "," + program.language + "");
}
public void WriteProgram(Cpro program)
{
Console.WriteLine("" + program.name + ":" + name + "," + program.language + "");
}
}
//
class Program
{
static void Main(string[] args)
{
Pro p = new Pro();
Jpro p1 = new Jpro();
p.WriteProgram(p1);
Cpro p2 = new Cpro();
p.WriteProgram(p2);
Console.ReadKey();
}
}
}
C\#계승 에 관 한 간단 한 응용 코드 분석 에 관 한 이 글 은 여기까지 소개 되 었 습 니 다.더 많은 C\#계승 에 관 한 간단 한 응용 내용 은 우리 의 이전 글 을 검색 하거나 아래 의 관련 글 을 계속 찾 아 보 세 요.앞으로 많은 응원 부 탁 드 리 겠 습 니 다!
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
WebView2를 Visual Studio 2017 Express에서 사용할 수 있을 때까지Evergreen .Net Framework SDK 4.8 VisualStudio2017에서 NuGet을 사용하기 때문에 패키지 관리 방법을 packages.config 대신 PackageReference를 사용해야...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.