생성자란 무엇인가요?

생성자 - 소개

생성자는 객체를 생성할 때 객체를 초기화하는데 주로 사용되는 특수한 방법으로, 즉 객체 멤버변수에 초기값을 할당하는 것이다

>

객체를 생성하기 위해 명령문에서 항상 new 연산자와 함께 사용됩니다. 특정 클래스는 매개변수의 수나 매개변수의 유형에 따라 구별될 수 있는 여러 생성자를 가질 수 있습니다. 생성자

생성자 - 생성자와 다른 메소드의 차이점

1. 생성자의 이름은 클래스 이름과 동일해야 하며 일반 메소드는 동일할 수 없습니다.

2 생성자의 함수는 클래스의 객체가 생성될 때 초기화된 상태를 정의하는 데 사용됩니다. 이는 반환 값이 없으며 void로 수정될 수 없음을 보장합니다. 자동으로 아무것도 반환하지 않을 뿐만 아니라 전혀 선택의 여지가 없습니다.

3 생성자는 직접 호출할 수 없으며, new 연산자를 통해 객체가 생성될 때 자동으로 호출되어야 합니다.

4. 클래스를 정의할 때 일반적인 상황에서는 클래스의 생성자가 표시되며, 함수에 지정된 초기화 작업은 생략될 수 있습니다. 그러나 Java 컴파일러는 기본 생성자를 제공합니다. 이 기본 생성자는 매개변수가 없습니다. 이 기능은 존재하지 않습니다.

5 클래스가 전용 생성자만 정의하는 경우 클래스가 아무것도 정의하지 않으면 해당 객체를 생성할 수 없습니다. 생성자를 사용하면 C# 컴파일러가 자동으로 매개 변수가 없는 기본 생성자를 생성합니다.

생성자 - C의 생성자

C의 생성자 정의 형식은 다음과 같습니다: constructor

class

{

p>

public:

(매개변수 목록)

//...(다른 멤버 함수도 선언할 수 있습니다)

}; /p >

: (매개변수 목록)

{

//함수 본문

}

다음 정의는 유효합니다. :

클래스 T

{

공개:

T(int a=0){i=a;}//구성 함수는 클래스 정의 내에서 직접 작성될 수 있으며 매개변수 목록도 허용됩니다.

private: int i;

};

프로그램에 소멸자가 없으면 시스템은 자동으로 다음 생성자를 생성합니다.

: (){}, 이는 작업이 수행되지 않음을 의미합니다.

생성자 - C 예

//이 코드를 컴파일러에 직접 복사하면 웹이 실행될 때 코드 앞에 중국어 자리 표시자가 추가되므로 오류가 보고될 수 있습니다. 페이지가 생성됩니다.

//코드를 다시 작성하는 것이 가장 좋습니다.

#include

namespace std; 시간

{

공개:

time() //constructor.Constructor

{

hour= 0;

시간=0;

분=0; p>void set_time();

void show_time( );

비공개:

int 시간

int 분; p>

int 초

};

int main()

{

수업 시간

t1.show_time();

t1.set_time()

t1.show_time()

반환

}

void time::set_time( )

{

cin gt; gt; 분;

}

void time::show_time()

{ coutlt; }

프로그램 실행 상태:

0:0:0

10 11 11 Enter

10:11:11

클래스나 구조체가 생성될 때마다 생성자라고 합니다. 클래스나 구조체에는 서로 다른 매개변수를 허용하는 여러 생성자가 있을 수 있습니다. 생성자를 사용하면 프로그래머는 기본값을 설정하고, 인스턴스화를 제한하고, 유연하고 읽기 쉬운 코드를 작성할 수 있습니다.

JAVA 샘플 코드:

public class UserManagerImpl은 UserManager를 구현합니다. {

private UserDao userDao

public UserManagerImpl(UserDao userDao){

this.userDao=userDao;

}

public void save(문자열 사용자 이름, 문자열 비밀번호){

this.userDao.save (사용자 이름, 비밀번호);

}

}

PHP의 생성자

생성자 선언 및 기타 작업 선언 동일, 단, 이름은 두 개의 밑줄 __construct()여야 합니다. 이는 PHP5의 변경 사항입니다. PHP4 버전에서는 생성자의 이름이 클래스 이름과 동일해야 합니다. 이전 버전과의 호환성을 위해 클래스에 __construct()라는 메서드가 없으면 PHP는 클래스와 동일한 이름을 가진 메서드를 검색합니다.

형식: function __construct ([매개변수]) { ... ... }

예:

class person{

공개 $name;

공개 $age; _ _construct(){ // 생성자

name="lisi"; /p>

$this-gt;age=28;

}

function say(){

echo "내 이름은 "입니다. this-gt;name."

";

echo "내 나이는 ".$this-gt;age"입니다.

"; >

echo "내 나이는 ".$this-gt;age"입니다."

" p>

}

}

$ per=새로운 사람();

$per-gt;say();

$per-gt;

$per -gt; age=26;

$per-gt; say();

C# 예시

생성자는 생성 시 실행됩니다. 특정 유형의 객체. 생성자는 클래스와 동일한 이름을 가지며 일반적으로 새 객체의 데이터 멤버를 초기화합니다.

다음 예에서는 Taxi라는 클래스가 간단한 생성자를 사용하여 정의됩니다. 그런 다음 new 연산자를 사용하여 클래스를 인스턴스화합니다. 새 객체에 메모리를 할당한 직후 new 연산자는 Taxi 생성자를 호출합니다.

public class Taxi{ public bool isInitialized; public Taxi() { isInitialized = true; }}class TestTaxi{ static void Main() { Taxi t = new Taxi(); .is초기화됨) }}

上篇: 어린이용 트램펄린 제조업체는 브랜드 중요성을 소개합니다. 下篇: 마그넷콜이란 무엇인가요?
관련 내용