Nhiệm vụ
Tôi đoán mọi người đều thích tạo mã tự động và tiết kiệm thời gian trong khi làm việc. Bạn phải tạo ra rất nhiều lớp học và thành viên trong ngày và bạn không muốn tạo tất cả những thứ đó một getterscách thủ công.
Nhiệm vụ là viết một chương trình hoặc hàm, getterstự động tạo cho tất cả các thành viên lớp cho bạn.
Đầu vào
Trong các đối tượng ngôn ngữ của chúng tôi rất đơn giản. Tên của các lớp và thành viên phải bắt đầu bằng một chararacter từ [a-zA-Z]và chỉ có thể chứa các ký tự [a-zA-Z0-9]. Đây là một ví dụ:
class Stack {
public overflow;
protected trace;
private errorReport;
}
Đầu ra
Đây là một đầu ra hợp lệ dựa trên ví dụ đã cho:
class Stack {
public overflow;
protected trace;
private errorReport;
public function getOverflow() {
return this->overflow;
}
public function getTrace() {
return this->trace;
}
public function getErrorReport() {
return this->errorReport;
}
}
Getter
Các yêu cầu cho một getterphương pháp là:
- Tên hàm phải bắt đầu bằng
gettheo sau là tên thành viên với chữ hoa viết tắt. - Hàm không có tham số.
- Để trả về một sử dụng biến
return this->memberName;. gettersvàsetters( xem Phần thưởng ) phải được nhóm lại và phải đến sau tất cả các khai báo biến.
Thí dụ:
private value1;
private value2;
public function getValue1() { return this->value; }
public function setValue1(value) { this->value = value; }
public function getValue2() { return this->value; }
public function setValue2(value) { this->value = value; }
Những yêu cầu
- Tạo một chương trình hoặc một chức năng.
- Đầu vào có thể đến từ STDIN, đối số dòng lệnh, đối số chức năng, tệp, v.v.
- Bất kỳ định dạng đầu ra nào cũng được chấp nhận từ giá
returntrị đơn giản thành tệp hoặc ghi vào STDOUT. - Đầu vào và đầu ra không cần phải được định dạng bằng khoảng trắng, dòng mới, tab, v.v ... Đây là một đầu vào hợp lệ :
class A{protected a;}. - Bạn có thể cho rằng đầu vào là hợp lệ và chương trình của bạn cũng có thể xử lý đầu vào bất ngờ.
Tiền thưởng
Bạn có thể nhận được tới 10% số byte ban đầu của mình bằng cách rút 30% cho mỗi tính năng:
Trả lời: Chương trình của bạn có thể giải quyết các biến mới được thêm và chỉ thêm thiếu getters( public function getB() { return this->b; }trong trường hợp này):
class A {
public a;
public b;
public function getA() { return this->a; }
}
B: Chương trình của bạn cũng tạo ra setters:
class A {
public a;
public getA() { return this->a; }
public setA(a) { this->a = a; }
}
C: Chương trình của bạn có thể xử lý các thành viên tĩnh:
class A {
public static c;
public static function getC() { return this->c; }
}
Đây là mã golf - vì vậy câu trả lời ngắn nhất trong byte thắng. Sơ hở tiêu chuẩn là không được phép.
Avà Bcác mục có getters, nhưng không có setters, có setters trong đầu ra không?
thistrong một người truy cập static?