C#의 base 키워드 사용법: base()
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
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
.net 데이터베이스 조작 프레임워크 SqlSugar의 간단한 시작SqlSugar는 오래된 브랜드입니다.NET 데이터베이스 조작 프레임워크, 과당 빅데이터 과학기술팀이 유지 보수 및 업데이트, Github star 수 EF 및 Dapper 버금가 지원 데이터베이스: MySql, S...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.