class Buyer {
var $money = 1000,
$cart = array(), // 구입한 제품을 저장하기 위한 배열
$i = 0; // Product배열 cart에 사용될 index
function buy(Product $p) {
if ($p->price > $this->money) {
println('잔액이 부족하여 ' . $p . '를 살수 없습니댜.');
return;
}
$this->money -= $p->price;
$this->add($p);
/*
가진 돈과 물건의 가격을 비교해서 가진 돈이 적으며 종료한다.
가진 돈이 충분하면, 제품의 가격을 가진 돈에서 빼고
장바구니에 구입한 물건을 담는다. (add메서드 호출)
*/
}
function add(Product $p) {
$this->cart[$this->i] = $p;
$this->i++;
/*
물건을 장바구니(cart)에 저장한다. 그리고 i의 값을 1 증가시킨다.
*/
} // add(Product p)
function summary() {
$itemList = '';
$sum = 0;
for ($i=0; $i<count($this->cart); $i++) {
$this->itemList .= $this->cart[$i] . ',';
$this->sum += $this->cart[$i]->price;
}
println('구입한 물건 : ' . $this->itemList);
println('사용한 금액 : ' . $this->sum);
println('남은 금액 : ' . $this->money);
/*
장바구니에 담긴 물건들의 목록을 만들어 출력한다.
장바구니에 담긴 물건들의 가격을 모두 더해서 출력한다.
물건을 사고 남은 금액(money)를 출력한다.
*/
} // summary()
}
class Product {
var $price; // 제품의 가격
function __construct($price) {
$this->price = $price;
}
}
class Tv extends Product {
function __construct() {
Parent::__construct(100);
}
public function __toString() {
return 'Tv';
}
}
class Computer extends Product {
function __construct() {
Parent::__construct(200);
}
public function __toString() {
return 'Computer';
}
}
class Audio extends Product {
function __construct() {
Parent::__construct(50); }
public function __toString() {
return 'Audio';
}
}
$b = new Buyer();
$b->buy(new Tv());
$b->buy(new Computer());
$b->buy(new Tv());
$b->buy(new Audio());
$b->buy(new Computer());
$b->buy(new Computer());
$b->buy(new Computer());
$b->summary();
// 줄바꿈 출력
function println($arg) {
echo $arg.'<br />';
}
/* 출력
잔액이 부족하여 Computer를 살수 없습니댜.
구입한 물건 : Tv,Computer,Tv,Audio,Computer,Computer,사용한 금액 : 850
남은 금액 : 150
*/
게시판 목록
프로그램
| 번호 | 제목 | 글쓴이 | 날짜 | 조회 |
|---|---|---|---|---|
| 530 |
|
19년 전 | 1245 | |
| 529 |
|
19년 전 | 1429 | |
| 528 |
|
19년 전 | 1982 | |
| 527 |
사랑과우정
|
19년 전 | 2396 | |
| 526 | 19년 전 | 2879 | ||
| 525 |
|
19년 전 | 2309 | |
| 524 |
|
19년 전 | 1814 | |
| 523 | 19년 전 | 7055 | ||
| 522 |
|
19년 전 | 3737 | |
| 521 | 19년 전 | 2354 | ||
| 520 | 19년 전 | 2393 | ||
| 519 | 19년 전 | 2892 | ||
| 518 |
|
19년 전 | 5798 | |
| 517 |
|
19년 전 | 5568 | |
| 516 |
|
19년 전 | 2276 | |
| 515 |
|
19년 전 | 3315 | |
| 514 | 19년 전 | 2874 | ||
| 513 | 19년 전 | 2228 | ||
| 512 |
개발자관리자
|
19년 전 | 2736 | |
| 511 |
개발자관리자
|
19년 전 | 1594 | |
| 510 |
개발자관리자
|
19년 전 | 1751 | |
| 509 |
개발자관리자
|
19년 전 | 1863 | |
| 508 |
개발자관리자
|
19년 전 | 2017 | |
| 507 |
개발자관리자
|
19년 전 | 1699 | |
| 506 |
개발자관리자
|
19년 전 | 1821 | |
| 505 |
개발자관리자
|
19년 전 | 1788 | |
| 504 |
개발자관리자
|
19년 전 | 1866 | |
| 503 |
개발자관리자
|
19년 전 | 1529 | |
| 502 |
개발자관리자
|
19년 전 | 2664 | |
| 501 | 19년 전 | 2014 | ||
| 500 | 19년 전 | 3247 | ||
| 499 | 19년 전 | 3276 | ||
| 498 | 19년 전 | 2533 | ||
| 497 | 19년 전 | 2606 | ||
| 496 | 19년 전 | 2464 | ||
| 495 | 19년 전 | 2709 | ||
| 494 | 19년 전 | 2687 | ||
| 493 | 19년 전 | 3198 | ||
| 492 | 19년 전 | 2912 | ||
| 491 | 19년 전 | 5333 | ||
| 490 |
|
19년 전 | 2132 | |
| 489 |
|
19년 전 | 2219 | |
| 488 |
|
19년 전 | 2024 | |
| 487 |
|
19년 전 | 1954 | |
| 486 |
|
19년 전 | 1952 | |
| 485 |
|
19년 전 | 2159 | |
| 484 |
|
19년 전 | 3225 | |
| 483 |
|
19년 전 | 3112 | |
| 482 |
|
19년 전 | 2864 | |
| 481 |
|
19년 전 | 2570 | |
| 480 |
|
19년 전 | 2640 | |
| 479 |
|
19년 전 | 2316 | |
| 478 |
|
19년 전 | 2340 | |
| 477 |
개발자관리자
|
19년 전 | 1604 | |
| 476 |
개발자관리자
|
19년 전 | 2319 | |
| 475 |
개발자관리자
|
19년 전 | 2671 | |
| 474 |
개발자관리자
|
19년 전 | 2668 | |
| 473 |
개발자관리자
|
19년 전 | 2981 | |
| 472 | 19년 전 | 2746 | ||
| 471 | 19년 전 | 1747 | ||
| 470 | 19년 전 | 1840 | ||
| 469 |
|
19년 전 | 2745 | |
| 468 |
|
19년 전 | 2233 | |
| 467 |
|
19년 전 | 4010 | |
| 466 |
|
19년 전 | 2526 | |
| 465 | 19년 전 | 2393 | ||
| 464 | 19년 전 | 3539 | ||
| 463 |
|
19년 전 | 3108 | |
| 462 |
|
19년 전 | 2257 | |
| 461 |
|
19년 전 | 3045 | |
| 460 |
|
19년 전 | 2253 | |
| 459 |
|
19년 전 | 3124 | |
| 458 |
|
19년 전 | 3549 | |
| 457 |
|
19년 전 | 5225 | |
| 456 |
|
19년 전 | 3146 | |
| 455 |
스마일미디어
|
19년 전 | 3136 | |
| 454 |
스마일미디어
|
19년 전 | 2736 | |
| 453 |
스마일미디어
|
19년 전 | 2476 | |
| 452 |
스마일미디어
|
19년 전 | 2735 | |
| 451 |
스마일미디어
|
19년 전 | 2457 | |
| 450 |
스마일미디어
|
19년 전 | 2582 | |
| 449 |
스마일미디어
|
19년 전 | 2376 | |
| 448 |
스마일미디어
|
19년 전 | 2697 | |
| 447 | 19년 전 | 2968 | ||
| 446 |
스마일미디어
|
19년 전 | 3252 | |
| 445 |
스마일미디어
|
19년 전 | 7053 | |
| 444 |
스마일미디어
|
19년 전 | 5174 | |
| 443 |
스마일미디어
|
19년 전 | 2442 | |
| 442 |
스마일미디어
|
19년 전 | 5181 | |
| 441 |
스마일미디어
|
19년 전 | 3117 | |
| 440 |
|
19년 전 | 2485 | |
| 439 | 19년 전 | 2175 | ||
| 438 | 19년 전 | 3571 | ||
| 437 |
|
19년 전 | 2875 | |
| 436 |
|
19년 전 | 3254 | |
| 435 |
|
19년 전 | 2898 | |
| 434 | 19년 전 | 3392 | ||
| 433 |
sjsjin
|
19년 전 | 2726 | |
| 432 |
sjsjin
|
19년 전 | 3463 | |
| 431 |
sjsjin
|
19년 전 | 2424 |
댓글 작성
댓글을 작성하시려면 로그인이 필요합니다.
로그인하기