ホームページ バックエンド開発 C#.Net チュートリアル C#学習日記13---クラスの宣言と定義

C#学習日記13---クラスの宣言と定義

Jan 20, 2017 pm 01:51 PM

オブジェクト指向の魂であるクラスには、C# の非常に広範かつ詳細なアプリケーションがあります。クラスを徹底的に習得することは、当然、C# 学習の重要な部分です。クラスの意味については、C# 学習日記を参照してください。 12---参照型 すでに説明されているので、ここでは繰り返しません。クラスに関しては、それに密接に関連するもの、つまりオブジェクトについて話さなければなりません。同じ属性を持つものからの抽象化 この概念は一般に、類似した個人の集合を説明するために使用されます。

オブジェクト: クラスから具体化された個人。 (たとえば、人間はクラスであり、張三は人間の中のオブジェクトです)

属性: オブジェクトの特性を説明するために使用されます。 (クラスでは、クラスのデータメンバーです^_^)

メソッド: オブジェクトの機能を記述します。 (クラスではクラスのデータメンバーです^_^。C/C++では関数と呼ばれます。将来的には名前を変更します)

イベント: トリガー機能を持つ関数 (メソッドとは異なり、イベントは受動的であり、外部のものによって発行され、受信者はオブジェクトであり、メソッドはクラスのデータメンバーであるオブジェクトによってアクティブに発行されるアクションです)

クラスの定義:

クラスの定義はキーワード class で始まり、その後にクラス名が続きます。クラスの本体。中括弧で囲みます。

访问修饰符 class  类名
   {
        访问修饰符数据成员;
   }
ログイン後にコピー

例:

 public class Student
      {
            private string name;
            private int age;
     }
ログイン後にコピー

クラス内のデータ メンバーにアクセスする方法は、Struct 型と同じです。 (オブジェクトの名前とオブジェクトの名前をリンクする) ドット演算子を使用する必要があります。メンバー) のアクセス修飾子については、ここでプライベート、パブリック、内部について少し説明します (詳細は後ほど説明します):

プライベート アクセス。アクセスは、このクラスのメンバーに制限されます。サブクラスおよびインスタンス (オブジェクト) はアクセスできません (つまり、クラス自体から呼び出すことができます)。

パブリック: パブリックアクセス。制限なくすべてのクラスにアクセスできます。

内部: 同じアセンブリ内のすべてのクラスにアクセスできます。これは、パブリック アセンブリ コレクションの 1 つと考えることができます。

アクセス修飾子が指定されていない場合、関連するアクセス許可はデフォルトのアクセス許可を使用します。クラスのデフォルトのアクセス許可は内部であり、メンバーのデフォルトのアクセス許可は、将来アクセス許可に関連する問題が発生した場合に使用されます。必ず読んでください。アクセス修飾子が指定されていないか、不適切に使用されていないか確認してください。

オブジェクトの作成:

新しいステートメントを使用します。上記で定義したクラスを例に挙げます: Student stu = new Student(); このとき、Student クラスのコンストラクター (一般に初期化関数として理解されます。コンストラクターとデストラクターについては後で説明します) が呼び出されます。がない場合、デフォルトでは、データ メンバーには 0 が割り当てられます。

以下の例を作成します。これと名前を除いて Struct 型の間には?? 上記のプログラムには実際には違いはありません (すべてのメンバーが Public です)。これを見てください:

using System;  
using System.Collections.Generic;  
using System.Linq;  
using System.Text;  
  
namespace Test  
{   //定义的一个类,类名叫People  
    public class People  
    {   
      //全部指定为公有成员  
        public string name;      
        public char sex;          
        public uint age;  
      
    }  
  
    class Program  
    {  
         
        static void Main(string[] args)  
        {  
            People person = new People();        //实例化一个类,对象名叫 person  
            Console.WriteLine("输入姓名: ");  
            person.name = Console.ReadLine();   //  全部轻松访问,没有压力   
            Console.WriteLine("请输入性别:");  
            person.sex = Console.ReadKey().KeyChar;    //char 类型转换  
            Console.WriteLine("\n请输入年龄:");  
            person.age = uint.Parse(Console.ReadLine());   //强制类型转换  
            Console.WriteLine("您的姓名是:{0}\t您的性别是:{1}\t您的年龄是:{2}",person.name,person.sex,person.age);  
  
        }  
    }  
}
ログイン後にコピー

クラス内では、上記とまったく同じように実行されます。メソッドを定義できます (上記の入力と出力は 2 つのメソッドです)。Struct 構造体でメソッドを定義することはできません。また、People クラスのプロパティをプライベート メンバーとして指定します。外部オブジェクト person には直接アクセスできません。 People で指定された Public メソッドを通じてアクセスできます。例: 電話をするときは、対面でコミュニケーションするのではなく、携帯電話という媒体を通じて情報を交換します。このとき、携帯電話は公共の手段の 1 つと見なすことができます。はクラス内のプライベート メソッドであり、I はこのクラスによってインスタンス化されたオブジェクトです。

上記はC#学習日記13---クラスの宣言と定義の内容です。その他の関連内容については、PHP中国語Webサイト(www.php.cn)をご覧ください。

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

AI Hentai Generator

AI Hentai Generator

AIヘンタイを無料で生成します。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

C# を使用した Active Directory C# を使用した Active Directory Sep 03, 2024 pm 03:33 PM

C# を使用した Active Directory のガイド。ここでは、Active Directory の概要と、C# での動作方法について、構文と例とともに説明します。

C# の乱数ジェネレーター C# の乱数ジェネレーター Sep 03, 2024 pm 03:34 PM

C# の乱数ジェネレーターのガイド。ここでは、乱数ジェネレーターの仕組み、擬似乱数の概念、安全な数値について説明します。

C# シリアル化 C# シリアル化 Sep 03, 2024 pm 03:30 PM

C# シリアル化のガイド。ここでは、C# シリアル化オブジェクトの導入、手順、作業、例についてそれぞれ説明します。

C# データ グリッド ビュー C# データ グリッド ビュー Sep 03, 2024 pm 03:32 PM

C# データ グリッド ビューのガイド。ここでは、SQL データベースまたは Excel ファイルからデータ グリッド ビューをロードおよびエクスポートする方法の例について説明します。

C# のパターン C# のパターン Sep 03, 2024 pm 03:33 PM

C# のパターンのガイド。ここでは、C# のパターンの概要と上位 3 種類について、その例とコード実装とともに説明します。

C# の素数 C# の素数 Sep 03, 2024 pm 03:35 PM

C# の素数ガイド。ここでは、C# における素数の導入と例を、コードの実装とともに説明します。

C# の階乗 C# の階乗 Sep 03, 2024 pm 03:34 PM

C# の Factorial のガイド。ここでは、C# での階乗の概要について、さまざまな例とコード実装とともに説明します。

マルチスレッドと非同期C#の違い マルチスレッドと非同期C#の違い Apr 03, 2025 pm 02:57 PM

マルチスレッドと非同期の違いは、マルチスレッドが複数のスレッドを同時に実行し、現在のスレッドをブロックせずに非同期に操作を実行することです。マルチスレッドは計算集約型タスクに使用されますが、非同期はユーザーインタラクションに使用されます。マルチスレッドの利点は、コンピューティングのパフォーマンスを改善することですが、非同期の利点はUIスレッドをブロックしないことです。マルチスレッドまたは非同期を選択することは、タスクの性質に依存します。計算集約型タスクマルチスレッド、外部リソースと相互作用し、UIの応答性を非同期に使用する必要があるタスクを使用します。

See all articles