C 언어
객체 지향 프로그래밍에서 가장 중요한 개념 중 하나는 상속입니다. 상속을 통해 다른 클래스의 관점에서 클래스를 정의할 수 있으므로 애플리케이션을 더 쉽게 만들고 유지 관리할 수 있습니다. 이는 또한 코드 기능을 재사용하고 구현 시간을 단축할 수 있는 기회를 제공합니다.
클래스를 생성할 때 완전히 새로운 데이터 멤버와 멤버 함수를 작성하는 대신 프로그래머는 새 클래스가 기존 클래스의 멤버를 상속하도록 지정할 수 있습니다. 이 기존 클래스를 기본이라고 합니다. 클래스이며 새 클래스는 파생이라고 합니다. 수업.
상속이라는 개념은 IS-A를 구현합니다. 관계. 예를 들어, 포유동물은 IS A입니다. 동물, 개 IS-A 포유동물 따라서 개 IS-A 동물 등.
클래스는 둘 이상의 클래스 또는 인터페이스에서 파생될 수 있습니다. 즉, 여러 기본 클래스 또는 인터페이스에서 데이터와 기능을 상속할 수 있습니다.
파생 클래스를 생성하기 위해 C#에서 사용되는 구문은 다음과 같습니다 -
<acess-specifier> class <base_class> { ... } class <derived_class> : <base_class> { ... }
기본 클래스인 Shape와 파생 클래스인 Rectangle을 고려하십시오. -
라이브 데모using System; namespace InheritanceApplication { class Shape { public void setWidth(int w) { width = w; } public void setHeight(int h) { height = h; } protected int width; protected int height; } // Derived class class Rectangle: Shape { public int getArea() { return (width * height); } } class RectangleTester { static void Main(string[] args) { Rectangle Rect = new Rectangle(); Rect.setWidth(5); Rect.setHeight(7); // Print the area of the object. Console.WriteLine("Total area: {0}", Rect.getArea()); Console.ReadKey(); } } }
위의 코드를 컴파일하고 실행하면 다음과 같은 결과가 생성됩니다. -
Total area: 35
파생 클래스는 기본 클래스 멤버 변수와 멤버 메서드를 상속합니다. 따라서 상위 클래스 객체는 하위 클래스가 생성되기 전에 생성되어야 합니다. 멤버 초기화 목록에서 슈퍼클래스 초기화에 대한 지침을 제공할 수 있습니다.
다음 프로그램은 이것을 보여줍니다 -
라이브 데모using System; namespace RectangleApplication { class Rectangle { //member variables protected double length; protected double width; public Rectangle(double l, double w) { length = l; width = w; } public double GetArea() { return length * width; } public void Display() { Console.WriteLine("Length: {0}", length); Console.WriteLine("Width: {0}", width); Console.WriteLine("Area: {0}", GetArea()); } }//end class Rectangle class Tabletop : Rectangle { private double cost; public Tabletop(double l, double w) : base(l, w) { } public double GetCost() { double cost; cost = GetArea() * 70; return cost; } public void Display() { base.Display(); Console.WriteLine("Cost: {0}", GetCost()); } } class ExecuteRectangle { static void Main(string[] args) { Tabletop t = new Tabletop(4.5, 7.5); t.Display(); Console.ReadLine(); } } }
위의 코드를 컴파일하고 실행하면 다음과 같은 결과가 생성됩니다. -
Length: 4.5 Width: 7.5 Area: 33.75 Cost: 2362.5
C#은 다중 상속을 지원하지 않습니다. . 그러나 인터페이스를 사용하여 다중 상속을 구현할 수 있습니다. 다음 프로그램은 이것을 보여줍니다 -
라이브 데모using System; namespace InheritanceApplication { class Shape { public void setWidth(int w) { width = w; } public void setHeight(int h) { height = h; } protected int width; protected int height; } // Base class PaintCost public interface PaintCost { int getCost(int area); } // Derived class class Rectangle : Shape, PaintCost { public int getArea() { return (width * height); } public int getCost(int area) { return area * 70; } } class RectangleTester { static void Main(string[] args) { Rectangle Rect = new Rectangle(); int area; Rect.setWidth(5); Rect.setHeight(7); area = Rect.getArea(); // Print the area of the object. Console.WriteLine("Total area: {0}", Rect.getArea()); Console.WriteLine("Total paint cost: ${0}" , Rect.getCost(area)); Console.ReadKey(); } } }
위의 코드를 컴파일하고 실행하면 다음과 같은 결과가 생성됩니다. -
Total area: 35 Total paint cost: $2450
C 언어
C#에서 상속이란 무엇입니까? 상속 C#의 중요한 개념입니다. 상속은 부모 클래스와 자식 클래스를 정의하는 개념입니다. 자식 클래스는 부모 클래스의 메서드와 속성을 상속하지만 동시에 필요한 경우 메서드의 동작을 수정할 수도 있습니다. 자식 클래스는 필요한 경우 자체 메서드를 정의할 수도 있습니다. 이 C# 자습서에서는 다음을 배우게 됩니다. C#에서 상속이란 무엇입니까? C# 상속 예 C#의 다형성이란 무엇입니까? C# 다형성 예제 프로그램 예제를 통해 C# 상속에 대해 더 잘 이해해 보겠습니다. C# 상속 예제 이제 코
상속은 한 클래스가 다른 클래스의 속성(메서드 및 필드)을 획득하는 프로세스로 정의할 수 있습니다. 상속을 사용하면 정보를 계층적 순서로 관리할 수 있습니다. 다른 사람의 속성을 상속하는 클래스를 하위 클래스(파생 클래스, 자식 클래스)라고 하고 속성을 상속받는 클래스를 슈퍼 클래스(기본 클래스, 부모 클래스)라고 합니다. 확장 키워드 확장 클래스의 속성을 상속하는 데 사용되는 키워드입니다. 다음은 extends 키워드의 구문입니다. 구문 class Super { ..... ..... } class Sub ext