Napisz obiektowo program, który będzie obsługiwał skanowanie produktów na kasie jak w supermarkecie. Program ma być czysto skryptowy (nie ma mieć żadnej interakcji poprzez HTML!).
1. Stwórz klasę dla produktów (musi ona zawierać ilość, opis, identyfikator produktu i cenę).
2. Napisz klasę Skaner. Skaner musi implementować:
a. Dodanie produktu (przez przekazanie obiektu produktu).
b. Usunięcie produktu (poprzez podanie identyfikatora). W przypadku kiedy takiego produktu nie ma jeszcze zeskanowanego ta funkcja ma nic nie robić.
c. Zmianę ilości produktu (poprzez podanie identyfikatora i nowej liczby). W przypadku kiedy takiego produktu nie ma jeszcze zeskanowanego ta funkcja ma nic nie robić.
d. Funkcję drukowania paragonu.
CODE
<?php
class products{
protected $ilosc;
protected $opis;
protected $id;
protected $price;
public function __construct($newIlosc, $newOpis, $newID,$newPrice)
{
$this->ilosc = 0;
$this->opis = "";
$this->id = 0;
$this->price = 0;
if (is_numeric($newIlosc)) {
$this->ilosc = $newIlosc;
}
if (is_string($newOpis)) {
$this->opis = $newOpis;
}
if (is_numeric($newID)) {
$this->id = $newID;
}
if (is_numeric($newPrice)) {
$this->price = $newPrice;
}
echo("Just created new BILL with values Ilosc: $this->ilosc and
Opis:{$this->opis} and
ID:[$this->id}</br>
Price:[$this->price}</br>");
}
public function __destruct()
{
echo("Destructor for your shopping</br>");
}
public function setIlosc($newIlosc)
{
if (is_numeric($newIlosc)) {
$this->ilosc = $newIlosc;
}
}
public function setOpis($newOpis)
{
if (is_numeric($newOpis)) {
$this->opis = $newOpis;
}
}
public function setid($newID)
{
if (is_string($newID)) {
$this->id = $newID;
}
}
public function setPrice($newPrice)
{
if (is_string($newPrice)) {
$this->price = $newPrice;
}
}
public function getIlosc(){
return $this->ilosc;
}
public function getOpis(){
return $this->opis;
}
public function getID(){
return $this->id;
}
public function getPrice(){
return $this->price;
}
public function printInfo(){
echo("ilosc ={$this->ilosc}<br>");
echo("opis ={$this->opis}<br>");
echo("id ={$this-> id}<br>");
echo("price ={$this-> price}<br>");
}
}
?>
class products{
protected $ilosc;
protected $opis;
protected $id;
protected $price;
public function __construct($newIlosc, $newOpis, $newID,$newPrice)
{
$this->ilosc = 0;
$this->opis = "";
$this->id = 0;
$this->price = 0;
if (is_numeric($newIlosc)) {
$this->ilosc = $newIlosc;
}
if (is_string($newOpis)) {
$this->opis = $newOpis;
}
if (is_numeric($newID)) {
$this->id = $newID;
}
if (is_numeric($newPrice)) {
$this->price = $newPrice;
}
echo("Just created new BILL with values Ilosc: $this->ilosc and
Opis:{$this->opis} and
ID:[$this->id}</br>
Price:[$this->price}</br>");
}
public function __destruct()
{
echo("Destructor for your shopping</br>");
}
public function setIlosc($newIlosc)
{
if (is_numeric($newIlosc)) {
$this->ilosc = $newIlosc;
}
}
public function setOpis($newOpis)
{
if (is_numeric($newOpis)) {
$this->opis = $newOpis;
}
}
public function setid($newID)
{
if (is_string($newID)) {
$this->id = $newID;
}
}
public function setPrice($newPrice)
{
if (is_string($newPrice)) {
$this->price = $newPrice;
}
}
public function getIlosc(){
return $this->ilosc;
}
public function getOpis(){
return $this->opis;
}
public function getID(){
return $this->id;
}
public function getPrice(){
return $this->price;
}
public function printInfo(){
echo("ilosc ={$this->ilosc}<br>");
echo("opis ={$this->opis}<br>");
echo("id ={$this-> id}<br>");
echo("price ={$this-> price}<br>");
}
}
?>
Mam klase produktów i nie ogarniam jak dodać klase skaner żeby te funkcje wszystkie robiła.
CODE
<?php
require_once("produkty.php");
class skaner{
protected $bill =array();
public function addProducts(){
}
}
?>
require_once("produkty.php");
class skaner{
protected $bill =array();
public function addProducts(){
}
}
?>
Zacząłem takie coś .