1
나는 출판물과 도서관 두 종류의 클래스와 출판물을 가지고있다. 장르, 미디어 및 target_age를 조작하는 방법 (캡슐화) 그것은 다른 클래스 안에있는 클래스가 아닙니다. 장르는 미디어 및 연령뿐만 아니라 (소설, 논픽션, 자조, 공연) 형식으로 많습니다. 나는 나의 연구를 해왔다. 나는 그것을위한 적절한 구문을 위해 serchin이다.적절한 캡슐화 구문은 무엇입니까?
class Publication {
private:
string title;
string authore;
string copyright;
Genre genre;
Media media;
Age target_age;
string isbn;
bool checked_out;
string patron_name;
string patron_phone;
public:
void check_out(string patron_name, string patron_phone){}
void check_in(){}
bool is_checked_out(){}
string to_string(){}
};
동일한 작업을 수행했습니다. 개인용 변수에 setter 및 getter를 사용하고 있습니다. 내 문제는 그들이 출판 클래스에 대한 개인 섹션의 클래스 객체 인 경우 장르, 미디어 및 연령을 조작하는 방법입니까? –
캡슐화의 요점은 당신이 그들을 조작하고 싶지 않다는 것입니다 ... 그렇지 않으면 그들을 공개하고 그것을 캡슐화라고하지 마십시오. 당신의 예에서 (내가 올바르게 이해한다면) 기존 출판물의 장르를 바꿀만한 이유가 없습니다 ... 왜 그렇게해야합니까? 참고로, 클래스'Publication'은 여전히'Genre'의 인스턴스를 조작 할 수 있습니다 만, 외부로부터의 아무도 캡슐화의 전체 지점이 될 수는 없습니다 ... – Kupto
@ Kupto Ok, 저는 당신의 요점을 이해했습니다. 이제 픽션, 논픽션, 자조 및 공연으로 장르를 어떻게 구현해야합니까? 나 혼란스러워하는 또 다른 일. 프로그램에서 그것을 사용하는 것은 무엇입니까? –