ライブ環境でテストする
ウォーターマークなしで本番環境でテストしてください。
必要な場所でいつでも動作します。
C#の主な特徴の一つは、継承、オブジェクト指向プログラミングに対する強力なサポートでよく知られています(オブジェクト指向プログラミング (OOP))原理。 スケーラブルで効果的なコードを書くために不可欠です。 この投稿では、現実世界での使用を強調しながらC#の継承のトピックを探求します。IronPDFライブラリ、C#プログラムでPDFを扱うのを容易にする強力なライブラリ。
新しいC#コンソールプロジェクトを作成
基底クラスを作成し、いくつかのメソッドを追加します。
新しい派生クラスを作成し、クラスを継承します。
基本クラスで利用可能な関数/メソッドを呼び出します。
オブジェクト指向プログラミングの重要な概念(オブジェクト指向プログラミング (オブジェクト指向プログラミング (OOP)))継承は、クラスが(派生クラスまたはサブクラス)別のクラスの特性や特徴を取り入れる(ベースまたはスーパークラス). C# では、継承は次の形式で基本クラス名を指定することで実現されます:(コロン)シンボル。
C#では単一継承がサポートされているため、クラスは1つの基底クラスからのみ継承できます。 単一の基本クラスの機能を増強したい場合に、最も基本的な継承の種類である複合継承を利用します。
class Animal { /* Base/ Parent class */ }
class Dog : Animal { /* Derived class */ }
class Animal { /* Base/ Parent class */ }
class Dog : Animal { /* Derived class */ }
Friend Class Animal
End Class
Friend Class Dog
Inherits Animal
End Class
いくつかのクラスがベースクラスを共有し、階層的な継承スキームによりそれらを継承しています。 複数の派生クラスが継承する単一ベースのクラス。 その目的に応じて、派生クラスごとに固有のさらなる特性がある場合もあります。
class Animal { /* Base class */ }
class Dog : Animal { /* Derived class */ }
class Wolf : Animal { /* Derived class */ }
class Animal { /* Base class */ }
class Dog : Animal { /* Derived class */ }
class Wolf : Animal { /* Derived class */ }
Friend Class Animal
End Class
Friend Class Dog
Inherits Animal
End Class
Friend Class Wolf
Inherits Animal
End Class
クラスは、マルチレベル継承において、基本クラスと派生クラスの両方として機能します。 その結果、各クラスがその前のクラスの特性を拡張して、継承の連鎖が形成されます。
class Animal { /* Base class */ }
class Mammal : Animal { /* Derived class */ }
class Dog : Mammal { /* Derived class */ }
class Animal { /* Base class */ }
class Mammal : Animal { /* Derived class */ }
class Dog : Mammal { /* Derived class */ }
Friend Class Animal
End Class
Friend Class Mammal
Inherits Animal
End Class
Friend Class Dog
Inherits Mammal
End Class
C#のクラスは、1つ以上のインターフェイスを実装し、単一の基本クラスから継承することができます。 これは、クラスがインターフェイスに記述されたメソッドの実装を継承することを可能にし、これによりある種の多重継承を実現します。
interface ILogger
{
void Log(string message);
}
class ConsoleLogger : ILogger //child class
{
public void Log(string message)
{
Console.WriteLine(message);
}
}
class FileLogger : ILogger
{
public void Log(string message)
{
// Log to file
}
}
interface ILogger
{
void Log(string message);
}
class ConsoleLogger : ILogger //child class
{
public void Log(string message)
{
Console.WriteLine(message);
}
}
class FileLogger : ILogger
{
public void Log(string message)
{
// Log to file
}
}
Friend Interface ILogger
Sub Log(ByVal message As String)
End Interface
Friend Class ConsoleLogger 'child class
Implements ILogger
Public Sub Log(ByVal message As String) Implements ILogger.Log
Console.WriteLine(message)
End Sub
End Class
Friend Class FileLogger
Implements ILogger
Public Sub Log(ByVal message As String) Implements ILogger.Log
' Log to file
End Sub
End Class
C#では、抽象クラスは他のクラスの基底クラスとして機能し、それ自体でインスタンス化することはできません。 抽象クラスの役割は、その派生クラスに共有のインターフェースと一連の関数を提供することです。 それは、その派生クラスが実装する必要がある属性とメソッドを定義したモデルまたはテンプレートとして機能します。 インターフェイスは、C#が提供する機能です。 インターフェースを介して複数の継承が実質的に可能になり、クラスが複数の契約を実装できるようにします。
抽象クラスを使用して、ベースクラスに一つ以上の抽象メソッドを定義することができます。 その後、これらの抽象メソッドには、派生クラスによって具体的な実装が提供されなければなりません。
abstract class Shape
{
public abstract double Area(); // Abstract method
}
class Square : Shape
{
public double Radius { get; set; }
public override double Area()
{
return Math.PI * Math.Pow(Radius, 2);
}
}
abstract class Shape
{
public abstract double Area(); // Abstract method
}
class Square : Shape
{
public double Radius { get; set; }
public override double Area()
{
return Math.PI * Math.Pow(Radius, 2);
}
}
Friend MustInherit Class Shape
Public MustOverride Function Area() As Double ' Abstract method
End Class
Friend Class Square
Inherits Shape
Public Property Radius() As Double
Public Overrides Function Area() As Double
Return Math.PI * Math.Pow(Radius, 2)
End Function
End Class
これらはC#における継承の応用例の一部に過ぎません。 コードベースの柔軟性の意図した度合い、クラス間の関係、そして設計目標はすべて、選択されるメソッドに影響を与えます。
IronPDFは、.NETおよびJava、Python、Node.jsでPDFを生成、編集、読み取るための強力なツールです。プログラマー向けに最適化されており、コードからPDFファイルの作成を容易に行うことができます。IronPDFは、HTML、CSS、JavaScript、および画像をPDFドキュメントに変換する能力を提供します。
IronPDFは様々なライセンスオプションがあり、Lite License、Plus License、Professional License、Unlimited Licenseが用意されています。
技術サポートや詳細については、Iron Softwareの公式サイトをご覧ください。
.NET ライブラリIronPDFプログラマーはC#言語を使用してPDFドキュメントを作成、編集、および変更することができます。 HTMLからPDFを生成する、HTMLをPDFに変換する、PDFドキュメントを結合または分割する、既存のPDFにテキスト、画像、注釈を追加するなど、PDFファイルを使った様々なタスクを可能にする様々なツールと機能がIronPDFライブラリによって提供されています。 IronPDFの詳細については、以下をご参照ください。IronPDF ドキュメント.
IronPDFライブラリを取得する 次回のパッチにはそれが必要です。 これを行うには、次のコードをパッケージ マネージャーに入力します:
Install-Package IronPDF
//or
dotnet add package IronPdf
別のオプションとして、NuGet Package Managerを使用して「IronPDF」パッケージを探すことができます。 IronPDFに関連するすべてのNuGetパッケージの中から、必要なパッケージをこのリストから選択してダウンロードすることができます。
IronPDFという機能豊富なライブラリは、C#でPDFドキュメントを取り扱うのを簡単にするために作成されました。 IronPDFを継承クラスと統合することで、アプリケーションの機能を向上させ、PDFの作成、操作、その他を簡単に行うことができます。
コードの再利用: 基本クラスから継承するクラスは、コードの再利用を可能にします。 これは、IronPDFのようなライブラリを使用している場合に特に便利です。なぜなら、一般的なPDF関連の機能を再利用可能な基本クラスにカプセル化して、アプリケーションの他の領域で再利用できるからです。
PdfDocumentの機能を拡張し、特にIronPDF統合のために、IronPdfDocumentというクラスを作成しましょう。
using IronPdf;
public class IronPdfDocument : PdfDocument
{
// Additional properties or methods specific to IronPDF can be added here
public void ConvertToPdf()
{
// Code to convert the HTML to PDF using IronPDF
var Renderer = new IronPdf.HtmlToPdf();
var PDF = Renderer.RenderHtmlAsPdf("<h1>Hello, World</h1>");
PDF.SaveAs("Output.pdf");
}
}
using IronPdf;
public class IronPdfDocument : PdfDocument
{
// Additional properties or methods specific to IronPDF can be added here
public void ConvertToPdf()
{
// Code to convert the HTML to PDF using IronPDF
var Renderer = new IronPdf.HtmlToPdf();
var PDF = Renderer.RenderHtmlAsPdf("<h1>Hello, World</h1>");
PDF.SaveAs("Output.pdf");
}
}
Imports IronPdf
Public Class IronPdfDocument
Inherits PdfDocument
' Additional properties or methods specific to IronPDF can be added here
Public Sub ConvertToPdf()
' Code to convert the HTML to PDF using IronPDF
Dim Renderer = New IronPdf.HtmlToPdf()
Dim PDF = Renderer.RenderHtmlAsPdf("<h1>Hello, World</h1>")
PDF.SaveAs("Output.pdf")
End Sub
End Class
IronPdfDocumentは、PdfDocumentから派生した強化された例です。 このクラスはIronPDFを簡単に操作するために設計されています。 PDF関連の機能を簡単に扱うために、特定の属性やメソッドを使用することができます。 IronPDFの特徴についてもっと知りたい方はIronPDF機能ページ.
これらのアイデアを実践に移し、継承とIronPDFを利用して基本的なPDFレポートジェネレーターを作成しましょう。 まず、レポートの基本クラスを使います:
public class Report
{
public virtual void GenerateReport()
{
var Renderer = new IronPdf.HtmlToPdf();
var PDF = Renderer.RenderHtmlAsPdf("<h1>Hello, World</h1>");
PDF.SaveAs("Output.pdf");
}
}
public class Report
{
public virtual void GenerateReport()
{
var Renderer = new IronPdf.HtmlToPdf();
var PDF = Renderer.RenderHtmlAsPdf("<h1>Hello, World</h1>");
PDF.SaveAs("Output.pdf");
}
}
Public Class Report
Public Overridable Sub GenerateReport()
Dim Renderer = New IronPdf.HtmlToPdf()
Dim PDF = Renderer.RenderHtmlAsPdf("<h1>Hello, World</h1>")
PDF.SaveAs("Output.pdf")
End Sub
End Class
次に、基本クラスから派生し、IronPDF機能を追加する派生クラスPdfReportを作成しましょう。
public class PdfReport : Report
{
public override void GenerateReport()
{
var Renderer = new IronPdf.HtmlToPdf();
var PDF = Renderer.RenderHtmlAsPdf("<h1>Hello, IronPDF</h1>");
PDF.SaveAs("Output.pdf");
Console.WriteLine("Generating PDF report...");
// Additional code specific to PDF generation using IronPDF
}
}
public class PdfReport : Report
{
public override void GenerateReport()
{
var Renderer = new IronPdf.HtmlToPdf();
var PDF = Renderer.RenderHtmlAsPdf("<h1>Hello, IronPDF</h1>");
PDF.SaveAs("Output.pdf");
Console.WriteLine("Generating PDF report...");
// Additional code specific to PDF generation using IronPDF
}
}
Public Class PdfReport
Inherits Report
Public Overrides Sub GenerateReport()
Dim Renderer = New IronPdf.HtmlToPdf()
Dim PDF = Renderer.RenderHtmlAsPdf("<h1>Hello, IronPDF</h1>")
PDF.SaveAs("Output.pdf")
Console.WriteLine("Generating PDF report...")
' Additional code specific to PDF generation using IronPDF
End Sub
End Class
上記の例は、TitleプロパティとGenerateReport関数が、基底クラスであるReportクラスからPdfReportに継承されていることを示しています。 新しいプロパティ「Author」を追加し、IronPDFを使用したPDFレポート生成のために、独自のロジックによってGenerateReport関数をオーバーライドします。 以下は、コードから生成された出力PDFです。
HTML文字列をPDFに変換するコードについてはHTMLからPDFへの翻訳例.
ライブラリとペアリングするとIronPDF継承は、アプリケーション開発プロセスを強化する強力な機能です。 ここでは、継承の基礎について説明し、IronPDFと統合するための便利な方法についても紹介しました。
階層的なクラス構造の開発は、モジュラーでよく構造化されたコードベースをもたらします。 クラスを開発する際に、基本クラスの幅広い機能を継承しつつ、特定のタスクに対応させると、コードの拡張性や再利用性の利点が明らかになります。 C#アプリケーションでPDFドキュメントを管理するためのシームレスなソリューションを提供するIronPDFが統合されると、これらの利点はさらに高まります。
IronPDFの $749 ライトパックには、永久ライセンス、アップグレードオプション、そして長期間のソフトウェアサポートが含まれています。 透かしの入った試用期間中、クライアントは本物のアプリケーション設定で製品を評価することができます。 IronPDFの価格、ライセンス、トライアル版についての詳細はIronPDFライセンスページ. 公式サイトを訪れてくださいIron Software ウェブサイト他のIron Software製品に慣れるため。
9つの .NET API製品 オフィス文書用