.NET ヘルプ

C# 継承(開発者のための仕組み)

チペゴ
チペゴ・カリンダ
2024年3月6日
共有:

イントロダクション

C#の主な特徴の一つは、継承、オブジェクト指向プログラミングに対する強力なサポートでよく知られています(オブジェクト指向プログラミング (OOP))原理。 スケーラブルで効果的なコードを書くために不可欠です。 この投稿では、現実世界での使用を強調しながらC#の継承のトピックを探求します。IronPDFライブラリ、C#プログラムでPDFを扱うのを容易にする強力なライブラリ。

C#とnumの使い方; 継承

  1. 新しいC#コンソールプロジェクトを作成

  2. 基底クラスを作成し、いくつかのメソッドを追加します。

  3. 新しい派生クラスを作成し、クラスを継承します。

  4. 基本クラスで利用可能な関数/メソッドを呼び出します。

  5. 操作を処理してオブジェクトを破棄します。

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 */ }

階層継承

いくつかのクラスがベースクラスを共有し、階層的な継承スキームによりそれらを継承しています。 複数の派生クラスが継承する単一ベースのクラス。 その目的に応じて、派生クラスごとに固有のさらなる特性がある場合もあります。

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 */ }

多重継承

クラスは、マルチレベル継承において、基本クラスと派生クラスの両方として機能します。 その結果、各クラスがその前のクラスの特性を拡張して、継承の連鎖が形成されます。

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  */ }

インターフェース継承

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
    }
}

抽象クラスとメソッド

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);
    }
}

これらはC#における継承の応用例の一部に過ぎません。 コードベースの柔軟性の意図した度合い、クラス間の関係、そして設計目標はすべて、選択されるメソッドに影響を与えます。

IronPDF

IronPDFは、.NETおよびJava、Python、Node.jsでPDFを生成、編集、読み取るための強力なツールです。プログラマー向けに最適化されており、コードからPDFファイルの作成を容易に行うことができます。IronPDFは、HTML、CSS、JavaScript、および画像をPDFドキュメントに変換する能力を提供します。

機能

  • HTML to PDF: HTML、CSS、JavaScriptを利用してPDFを生成。
  • PDFの編集: 既存のPDFドキュメントにテキスト、画像、ページ番号、さらにはカスタムヘッダーやフッターを追加。
  • PDFの読み取り: PDFファイルからテキスト、画像、メタデータを抽出。
  • セキュリティ: パスワード保護や暗号化オプションでPDFドキュメントを保護。

利点

  • 使いやすさ: シンプルなAPIで時間を節約。
  • 高品質: 正確で美しい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 をインストール

IronPDFライブラリを取得する 次回のパッチにはそれが必要です。 これを行うには、次のコードをパッケージ マネージャーに入力します:

Install-Package IronPDF 
//or 
dotnet add package IronPdf

C# 継承(開発者への仕組み):図1 - パッケージマネージャーコンソールを使用して IronPDF パッケージをインストールし、以下のコマンドを入力します:「Install-Package IronPDF」または「dotnet add package IronPdf」。

別のオプションとして、NuGet Package Managerを使用して「IronPDF」パッケージを探すことができます。 IronPDFに関連するすべてのNuGetパッケージの中から、必要なパッケージをこのリストから選択してダウンロードすることができます。

C# 継承(開発者向けの仕組み)図 2 - NuGet パッケージ マネージャーを使用して IronPDF パッケージをインストールすることもできます。 Browseタブで「ironpdf」パッケージを検索し、最新バージョンのIronPDFを選択してインストールしてください。

継承クラスでのIronPDF

IronPDFという機能豊富なライブラリは、C#でPDFドキュメントを取り扱うのを簡単にするために作成されました。 IronPDFを継承クラスと統合することで、アプリケーションの機能を向上させ、PDFの作成、操作、その他を簡単に行うことができます。

IronPDFを使用した継承の利点

  • 階層クラスを設定することで、継承は整理されたコードの組織化を促進します。 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");
    }
}

IronPdfDocumentは、PdfDocumentから派生した強化された例です。 このクラスはIronPDFを簡単に操作するために設計されています。 PDF関連の機能を簡単に扱うために、特定の属性やメソッドを使用することができます。 IronPDFの特徴についてもっと知りたい方はIronPDF機能ページ.

PDFレポートジェネレーターの構築

これらのアイデアを実践に移し、継承と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");
    }
}

次に、基本クラスから派生し、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
    }
}

上記の例は、TitleプロパティとGenerateReport関数が、基底クラスであるReportクラスからPdfReportに継承されていることを示しています。 新しいプロパティ「Author」を追加し、IronPDFを使用したPDFレポート生成のために、独自のロジックによってGenerateReport関数をオーバーライドします。 以下は、コードから生成された出力PDFです。

C# 継承(開発者向け動作の仕組み):図3

HTML文字列をPDFに変換するコードについてはHTMLからPDFへの翻訳例.

結論

ライブラリとペアリングするとIronPDF継承は、アプリケーション開発プロセスを強化する強力な機能です。 ここでは、継承の基礎について説明し、IronPDFと統合するための便利な方法についても紹介しました。

階層的なクラス構造の開発は、モジュラーでよく構造化されたコードベースをもたらします。 クラスを開発する際に、基本クラスの幅広い機能を継承しつつ、特定のタスクに対応させると、コードの拡張性や再利用性の利点が明らかになります。 C#アプリケーションでPDFドキュメントを管理するためのシームレスなソリューションを提供するIronPDFが統合されると、これらの利点はさらに高まります。

IronPDFの $749 ライトパックには、永久ライセンス、アップグレードオプション、そして長期間のソフトウェアサポートが含まれています。 透かしの入った試用期間中、クライアントは本物のアプリケーション設定で製品を評価することができます。 IronPDFの価格、ライセンス、トライアル版についての詳細はIronPDFライセンスページ. 公式サイトを訪れてくださいIron Software ウェブサイト他のIron Software製品に慣れるため。

チペゴ
ソフトウェアエンジニア
チペゴは優れた傾聴能力を持ち、それが顧客の問題を理解し、賢明な解決策を提供する助けとなっています。彼は情報技術の学士号を取得後、2023年にIron Softwareチームに加わりました。現在、彼はIronPDFとIronOCRの2つの製品に注力していますが、顧客をサポートする新しい方法を見つけるにつれて、他の製品に関する知識も日々成長しています。Iron Softwareでの協力的な生活を楽しんでおり、さまざまな経験を持つチームメンバーが集まり、効果的で革新的な解決策を提供することに貢献しています。チペゴがデスクを離れているときは、良い本を楽しんだり、サッカーをしていることが多いです。
< 以前
C#リンター(開発者のための動作方法)
次へ >
C# ランダム整数(開発者向けの動作方法)