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 getters
cách thủ công.
Nhiệm vụ là viết một chương trình hoặc hàm, getters
tự độ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 getter
phương pháp là:
- Tên hàm phải bắt đầu bằng
get
theo 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;
. getters
và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á
return
trị đơ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.
A
và B
các mục có getters, nhưng không có setters, có setters trong đầu ra không?
this
trong một người truy cập static
?