C#의 base 키워드 사용법: base()

4414 단어 .netaspc#
베이스는 관상 대상 개발의 다태성에 있어서 가장 큰 사용처입니다. 베이스는 파생 클래스를 만들 때 기본 클래스 구조 함수를 호출하거나 다른 방법으로 다시 쓰는 방법을 호출할 수 있습니다.예를 들면 다음과 같습니다.
2.1 베이스 호출 베이스 구조 함수
public class A
{
        public A()
        {
                Console.WriteLine("Build A");
        }
}
public class B:A
{
        public B():base()
        {
                Console.WriteLine("Build B");
        }
        static void Main()
        {
                B b = new B();
                Console.ReadLine();
        }
}

B의 인스턴스 객체를 작성하여 Build A와 Build B를 동시에 인쇄합니다.
 
2.2 베이스가 파생 클래스에서 기본 클래스를 호출하는 방법에 관하여.
public class A
{
        public virtual void Hello()
        {
                Console.WiriteLine("Hello");
        }
}
public class B : A
{
        public override void Hello()
        {               
                base.Hello();//       ,  Hello
                Console.WiriteLine("World");
        }
}

이렇게 하면 프로그램이 B.Hello()를 호출하면 Hello World를 사용할 수 있습니다.
마지막으로 MSDN Library 설명에 따르면 두 키워드는 [액세스 키워드] 유형에 속합니다.
 
++++++++++++++++++++++++++++++++++++++++++++++
+++++++++++++++++++++ 문장 2++++++++++++++++++
 
베이스 정보
베이스 키워드는 파생 클래스에서 기본 클래스에 접근하는 구성원에 사용됩니다. 기본 클래스에서 다른 방법으로 다시 쓰는 방법을 호출합니다.파생 클래스의 실례를 만들 때 호출할 기본 클래스 구조 함수를 지정합니다.기본 클래스 접근은 구조 함수, 실례 방법, 실례 속성 접근기에서만 가능합니다.
예: 1.파생류에서 기본 방법을 호출하다.
using System;
public class BaseClass
{
    protected string _className = "BaseClass";
    public virtual void PrintName()
    {
        Console.WriteLine("Class Name: {0}", _className);
    }
}
class DerivedClass : BaseClass
{
    public string _className = "DerivedClass";
    public override void PrintName()
    {
        Console.Write("The BaseClass Name is {0}");
        //      
        base.PrintName();
        Console.WriteLine("This DerivedClass is {0}", _className);
    }
}
class TestApp
{
    public static void Main()
    {
        DerivedClass dc = new DerivedClass();
        dc.PrintName();
    }
}

2. 파생류에서 기류 구조 함수를 호출한다.
// keywords_base2.cs
using System;
public class BaseClass
{
    int num;
    public BaseClass()
    {
        Console.WriteLine("in BaseClass()");
    }
    public BaseClass(int i)
    {
        num = i;
        Console.WriteLine("in BaseClass(int {0})", num);
    }
}
public class DerivedClass : BaseClass
{
    //         BaseClass.BaseClass()
    public DerivedClass()
        : base()
    {
    }
    //        BaseClass.BaseClass(int i)
    public DerivedClass(int i)
        : base(i)
    {
    }
    static void Main()
    {
        DerivedClass dc = new DerivedClass();
        DerivedClass dc1 = new DerivedClass(1)();
        Console.ReadLine();
    }
}

주의: 정적 방법에서base 키워드를 사용하는 것은 잘못되었습니다.베이스는 주로 대상을 대상으로 개발하는 대태에 사용되는데 예2에서 나타난다.
 
this 정보
this 키워드 인용 클래스의 현재 실례입니다.다음은this의 상용 용도입니다: 비슷한 이름으로 숨겨진 구성원이 대상을 매개 변수로 다른 방법으로 색인을 전달하는 것을 제한합니다
예:
// this    
// keywords_this.cs
using System;
class Employee
{
    private string _name;
    private int _age;
    private string[] _arr = new string[5];
    public Employee(string name, int age)
    {
        //   this    ,name age
        this._name = name;
        this._age = age;
    }
    public string Name
    {
        get { return this._name; }
    }
    public int Age
    {
        get { return this._age; }
    }
    //       
    public void PrintEmployee()
    {
        //  Employee         DoPrint  
        Print.DoPrint(this);
    }
    //      
    public string this[int param]
    {
        get { return _arr[param]; }
        set { _arr[param] = value; }
    }
}
class Print
{
    public static void DoPrint(Employee e)
    {
        Console.WriteLine("Name: {0}
Age: {1}", e.Name, e.Age); } } class TestApp { static void Main() { Employee E = new Employee("Hunts", 21); E[0] = "Scott"; E[1] = "Leigh"; E[4] = "Kiwis"; E.PrintEmployee(); for (int i = 0; i < 5; i++) { Console.WriteLine("Friends Name: {0}", E[i]); } Console.ReadLine(); } }

 
전환:https://www.cnblogs.com/eedc/p/6343201.html
 
 
 
 
 
 
 
 
 
 
 

좋은 웹페이지 즐겨찾기