diff --git a/01-classes.php b/01-classes.php
deleted file mode 100644
index 338cccf..0000000
--- a/01-classes.php
+++ /dev/null
@@ -1,21 +0,0 @@
-";
-var_dump($oldMobile);
diff --git a/02-properties.php b/02-properties.php
deleted file mode 100644
index 010aad5..0000000
--- a/02-properties.php
+++ /dev/null
@@ -1,50 +0,0 @@
- ) for accessing properties
-
-// we can assign those public properties in our class with this syntax
-$modernMobile->name = "Samsung s20";
-$modernMobile->chipset = "Exynos";
-$modernMobile->internalMemory = 128;
-
-echo "
";
-
-// we can also access properties value by the arrow operator
-echo $modernMobile->chipset;
-
-// what happens if we assign a non existing value or a wrong value?
-$modernMobile->ramMemory = 1;
-$modernMobile->internMemory = 8;
-
-echo "
";
-var_dump($modernMobile);
-echo "
";
-
-echo "
";
-
-//-----------------------------------------------------
-// arrow operator is unique in objects and must not be
-// confused with double arrow operator used in arrays
-//-----------------------------------------------------
-
-// this is an example using an array and double arrow operators
-$mobileArray = [
- 'name' => 'Xiaomi Mi10',
- 'chipset' => 'Snapdragon',
- 'internalMemory' => 64
-];
-echo $mobileArray['chipset'];
\ No newline at end of file
diff --git a/03-methods.php b/03-methods.php
deleted file mode 100644
index bf92984..0000000
--- a/03-methods.php
+++ /dev/null
@@ -1,28 +0,0 @@
-name . " includes a " . $this->chipset . " chipset and " . $this->internalMemory . "GB of internal memory";
- }
-}
-
-
-$modernMobile = new Mobile();
-$modernMobile->name = "Samsung s20";
-$modernMobile->chipset = "Exynos";
-$modernMobile->internalMemory = 128;
-
-echo $modernMobile->showSpecs();
diff --git a/04-getters.php b/04-getters.php
deleted file mode 100644
index 84cf90c..0000000
--- a/04-getters.php
+++ /dev/null
@@ -1,61 +0,0 @@
-name . " ---";
- }
-
- public function getChipset()
- {
- return $this->chipset;
- }
-
- public function getInternalMemory()
- {
- return $this->internalMemory;
- }
-}
-
-
-$modernMobile = new Mobile();
-$modernMobile->name = "Samsung s20";
-$modernMobile->chipset = "Exynos";
-$modernMobile->internalMemory = 128;
-
-echo "--- GETTERS ---";
-echo "
";
-echo $modernMobile->getName();
-echo "
";
-echo $modernMobile->getChipset();
-echo "
";
-echo $modernMobile->getInternalMemory();
-
-
-//-----------------------------------------------------
-// with this scenario where all properties are public
-// there won't be any differences between using getters
-// or accessing the properties via arrow operator
-//-----------------------------------------------------
-
-echo "
";
-echo "--- ARROW OPERATOR ---";
-echo "
";
-
-echo $modernMobile->name;
-echo "
";
-echo $modernMobile->chipset;
-echo "
";
-echo $modernMobile->internalMemory;
diff --git a/05-setters.php b/05-setters.php
deleted file mode 100644
index e86c9b6..0000000
--- a/05-setters.php
+++ /dev/null
@@ -1,42 +0,0 @@
-internalMemory;
- }
-
- // setters are methods for changing properties
- public function setInternalMemory($internalMemory)
- {
- echo "* CHANGED internal memory from " . $this->internalMemory;
- $this->internalMemory = $internalMemory;
- echo " to " . $this->internalMemory;
- }
-}
-
-echo "
";
-
-$modernMobile = new Mobile();
-$modernMobile->name = "Samsung s20";
-$modernMobile->chipset = "Exynos";
-$modernMobile->internalMemory = 128;
-
-
-echo "
";
-echo $modernMobile->getInternalMemory();
-echo "
";
-$modernMobile->setInternalMemory(256);
-echo "
";
-echo $modernMobile->getInternalMemory();
diff --git a/06-constructors.php b/06-constructors.php
deleted file mode 100644
index 59831d5..0000000
--- a/06-constructors.php
+++ /dev/null
@@ -1,34 +0,0 @@
-name = $name;
- $this->chipset = $chipset;
- $this->internalMemory = $internalMemory;
- echo "+ " . $this->name . " CREATED +
";
- }
-
- // PHP will call __destruct at the end of the script, when the object is destructed or the script is stopped or exited.
- function __destruct()
- {
- echo "- DESTROYED : " . $this->name . " includes a " . $this->chipset . " chipset and " . $this->internalMemory . "GB of internal memory -
";
- }
-}
-
-// Now we can instantiate a mobile object passing arguments in the correct order
-$modernMobile = new Mobile('Samsung s20', 'Exynos', 128);
-$oldMobile = new Mobile('BlackBerry', 'ARM', 1);
-echo "
";
diff --git a/07-inheritance-problem.php b/07-inheritance-problem.php
deleted file mode 100644
index 53c6971..0000000
--- a/07-inheritance-problem.php
+++ /dev/null
@@ -1,67 +0,0 @@
-name = $name;
- $this->chipset = $chipset;
- $this->internalMemory = $internalMemory;
- echo "+ " . $this->name . " CREATED +
";
- }
-
- function __destruct()
- {
- echo "- DESTROYED : " . $this->name . " includes a " . $this->chipset . " chipset and " . $this->internalMemory . "GB of internal memory -
";
- }
-}
-
-// We need a class for mobiles with extra properties and methods that won't have every mobile
-// For example we could need a class for a mobile device with physical keyboard so we create a new one
-
-class Blackberry
-{
- public $name;
- public $chipset;
- public $internalMemory;
- public $keyboard;
-
-
- public function __construct($name, $chipset, $internalMemory, $keyboard)
- {
- $this->name = $name;
- $this->chipset = $chipset;
- $this->internalMemory = $internalMemory;
- $this->keyboard = $keyboard;
- echo "+ " . $this->name . " CREATED +
";
- }
-
- //new method for getting keyboard type
- public function getKeyboard()
- {
- return $this->keyboard;
- }
-
- function __destruct()
- {
- echo "- DESTROYED : " . $this->name . " includes a " . $this->chipset . " chipset and " . $this->internalMemory . "GB of internal memory. It uses " . $this->keyboard . " Keyboard -
";
- }
-}
-
-$samsung = new Samsung('Samsung s20', 'Exynos', 128);
-$blackberry = new BlackBerry('BlackBerry', 'ARM', 1, 'qwerty');
-echo "
";
-
-// Seems that we are repeating too much code...
\ No newline at end of file
diff --git a/08-inheritance-solution.php b/08-inheritance-solution.php
deleted file mode 100644
index 6fe6b51..0000000
--- a/08-inheritance-solution.php
+++ /dev/null
@@ -1,70 +0,0 @@
-name = $name;
- $this->chipset = $chipset;
- $this->internalMemory = $internalMemory;
- }
-
- public function getName()
- {
- return $this->name;
- }
-
- public function getChipset()
- {
- return $this->chipset;
- }
-
- public function getInternalMemory()
- {
- return $this->internalMemory;
- }
-
- public function getMobileDetails()
- {
- return "Name: $this->name, Chipset: $this->chipset, Internal Memory: $this->internalMemory";
- }
-}
-
-// When you extend a class, the subclass inherits all of the public and protected methods from the parent class.
-class Blackberry extends Mobile
-{
- public $keyboard;
-
- // in php we use __construct to tell our class that this is the constructor method
- public function __construct($name, $chipset, $internalMemory, $keyboard)
- {
- // we use same constructor as father class with parent keyword and double colon
- parent::__construct($name, $chipset, $internalMemory);
- // and add new arguments necessary for the new son class
- $this->keyboard = $keyboard;
- }
-
- //new method for getting keyboard type
- public function getKeyboard()
- {
- return $this->keyboard;
- }
-}
-
-$samsung = new Mobile('Samsung s20', 'Exynos', 128);
-$blackberry = new BlackBerry('BlackBerry', 'ARM', 1, 'qwerty');
-echo $blackberry->getName();
-echo "\n";
-echo $blackberry->getMobileDetails();
diff --git a/09-public-private-protected.php b/09-public-private-protected.php
deleted file mode 100644
index abebdba..0000000
--- a/09-public-private-protected.php
+++ /dev/null
@@ -1,93 +0,0 @@
-name = $name;
- $this->chipset = $chipset;
- $this->internalMemory = $internalMemory;
- $this->imei = $imei;
- echo "+ " . $this->name . " CREATED +
";
- }
-
- // now getters methods meke more sense because we won't be able to access properties outside the class
- public function getName()
- {
- return "--- " . $this->name . " ---
";
- }
-
- public function getChipset()
- {
- return $this->chipset;
- }
-
- public function getInternalMemory()
- {
- return $this->internalMemory;
- }
-
- // protected elements can be accessed only within the class itself and inside inherited classes.
- protected function getIMEI()
- {
- return $this->imei;
- }
-}
-
-class Blackberry extends Mobile
-{
- private $keyboard;
-
- public function __construct($name, $chipset, $internalMemory, $imei, $keyboard)
- {
- parent::__construct($name, $chipset, $internalMemory, $imei);
- $this->keyboard = $keyboard;
- }
-
- // show protected imei
- public function showIMEI()
- {
- return $this->getIMEI();
- }
-}
-
-$samsung = new Mobile('Samsung s20', 'Exynos', 128, '000111222333');
-$blackberry = new BlackBerry('BlackBerry', 'ARM', 1, '99966688555', 'qwerty');
-
-//-----------------------------------------------------
-// with this scenario we can't access private or protected
-// attributes or methods via arrow operator
-//-----------------------------------------------------
-
-echo "
";
-echo $samsung->getName(); // OK | Public method accessing a public property inside the class
-echo "
";
-echo $samsung->name; // OK | Public property
-echo "
";
-echo $samsung->getChipset(); // OK | Public method accessing a protected property inside the class
-echo "
";
-echo $samsung->chipset; // ERROR | Private property so we can't access outside the class and throws: Fatal error: Uncaught Error: Cannot access privated property Mobile::$chipset
-echo "
";
-echo $samsung->getIMEI(); // ERROR | Protected method so we can't call it outside our class and throws: Fatal error: Uncaught Error: Call to protected method Mobile::getIMEI() from context
-echo "
";
-echo $samsung->imei; // ERROR | Private property so we can't access outside the class and throws: Fatal error: Uncaught Error: Cannot access private property Mobile::$imei
-echo "
";
-echo $blackberry->showIMEI(); // OK | Public method accessing a inherited protected method inside the class
-echo "
";
-echo $blackberry->getInternalMemory(); // OK | Public method accessing a inherited protected method inside the class
-echo "
";
-echo $blackberry->internalMemory; // Uncaught Error: Cannot access protected property Blackberry::$internalMemory
-echo "
";
diff --git a/10-static.php b/10-static.php
deleted file mode 100644
index 4e37e3c..0000000
--- a/10-static.php
+++ /dev/null
@@ -1,57 +0,0 @@
-name = $name;
- $this->chipset = $chipset;
- $this->internalMemory = $internalMemory;
- $this->imei = $imei;
- echo "+ CREATED " . $this->name . " WITH " . $this->internalMemory . " INTERNAL MEMORY +
";
- }
-
- public function connectMobileInternet()
- {
- // we can call static methods without instantiating directly with class name and double colon
- return $this->name . " : " . Internet::connectInternet();
- }
-}
-
-// we can acces to static properties without instanciating the class
-echo "
";
-$company = Internet::$company;
-
-echo $company;
-echo "
";
-
-
-$samsung = new Mobile('Samsung s20', 'Exynos', 128, '000111222333');
-echo $samsung->connectMobileInternet();
diff --git a/11-const.php b/11-const.php
deleted file mode 100644
index 4c250ab..0000000
--- a/11-const.php
+++ /dev/null
@@ -1,46 +0,0 @@
-name = $name;
- $this->chipset = $chipset;
- $this->internalMemory = $internalMemory;
- $this->imei = $imei;
- echo "+ CREATED " . $this->name . " WITH " . $this->internalMemory . " INTERNAL MEMORY +
";
- }
-
- // We can access constants with just name
- public function runMobileApp()
- {
- return $this->name . " RUNS " . APPNAME . " : " . Internet::connectInternet();
- }
-}
-
-$samsung = new Mobile('Samsung s20', 'Exynos', 128, '000111222333');
-echo $samsung->runMobileApp();
diff --git a/12-abstract-classes.php b/12-abstract-classes.php
deleted file mode 100644
index b1a9282..0000000
--- a/12-abstract-classes.php
+++ /dev/null
@@ -1,60 +0,0 @@
-name = $name;
- $this->chipset = $chipset;
- $this->internalMemory = $internalMemory;
- $this->imei = $imei;
- echo "+ CREATED " . $this->name . " WITH " . $this->internalMemory . " INTERNAL MEMORY +
";
- }
-
- public function runMobileApp()
- {
- return $this->name . " RUNS " . APPNAME . " : " . Internet::connectInternet();
- }
-}
-
-class Blackberry extends Mobile
-{
- public $keyboard;
-
- public function __construct($name, $chipset, $internalMemory, $imei, $keyboard)
- {
- parent::__construct($name, $chipset, $internalMemory, $imei);
- $this->keyboard = $keyboard;
- }
-}
-
-$blackberry = new BlackBerry('BlackBerry', 'ARM', 1, '99966688555', 'qwerty');
-echo $blackberry->runMobileApp();
-
-// We cannot instantiate an abstract class by itself!!
-$samsung = new Mobile('Samsung s20', 'Exynos', 128, '000111222333'); // Fatal error: Uncaught Error: Cannot instantiate abstract class Mobile
\ No newline at end of file
diff --git a/13-interfaces.php b/13-interfaces.php
deleted file mode 100644
index 0058b06..0000000
--- a/13-interfaces.php
+++ /dev/null
@@ -1,73 +0,0 @@
-username = $username;
- $this->paassword = $password;
-
- return "¡Loggin succesful with $this->username!\n";
- }
-
- public function saveData()
- {
- return "¡The user has successfully saved the information!\n";
- }
-
- public function logout()
- {
- $this->username = null;
- $this->paassword = null;
-
- return "¡The user has successfully logged out the application!\n";
- }
-
- // We can add methods not present in the interface
- public function exitApp()
- {
- echo "Clossing " . self::APPNAME . "...";
- }
-}
-
-$app = new AssemblerApp();
-
-echo $app->showSplashScreen();
-echo $app->login("XxProAssemblerxX", "123456");
-echo $app->saveData();
-echo $app->logout();
-echo $app->exitApp();
diff --git a/14-overriding.php b/14-overriding.php
deleted file mode 100644
index a61c7ff..0000000
--- a/14-overriding.php
+++ /dev/null
@@ -1,50 +0,0 @@
-name = $name;
- $this->internalMemory = $internalMemory;
- }
-
- public function getName()
- {
- return $this->name;
- }
-
- public function getInternalMemory()
- {
- return $this->internalMemory;
- }
-}
-
-// When you extend a class, the subclass inherits all of the public and protected methods from the parent class.
-class iPhonePlus extends iPhone
-{
- //Here we are overriding this method adding extra features that the previous "getName" doesn't have.
- public function getName()
- {
- return "¡The name of this iPhone is $this->name!";
- }
-}
-
-$iPhone = new iPhone("iPhone X", "64");
-echo $iPhone->getName() . "\n";
-
-$iPhonePlus = new iPhonePlus("iPhone X Plus", "128");
-echo $iPhonePlus->getName();
diff --git a/15-overloading.php b/15-overloading.php
deleted file mode 100644
index 391ea8a..0000000
--- a/15-overloading.php
+++ /dev/null
@@ -1,52 +0,0 @@
-dni = $dni;
- $this->name = $name;
- return "¡Login with short DNI!";
- }
-
- public function loginFullDNI(string $dni)
- {
- $this->dni = $dni;
- return "¡Login with full DNI!";
- }
-}
-
-$app = new App();
-echo $app->login(53123456, "Pau") . "\n";
-echo $app->login("53123456K");
diff --git a/16-namespaces.php b/16-namespaces.php
deleted file mode 100644
index fe5f942..0000000
--- a/16-namespaces.php
+++ /dev/null
@@ -1,116 +0,0 @@
-name = $name;
- $this->chipset = $chipset;
- $this->internalMemory = $internalMemory;
- $this->imei = $imei;
- echo "+ CREATED " . $this->name . " WITH " . $this->internalMemory . " INTERNAL MEMORY +
";
- }
-
- public function runAssemblerApp()
- {
- echo "
";
- AssemblerApp::showSplashScreen();
- echo "
";
- AssemblerApp::getData();
- AssemblerApp::showData();
- echo "
";
- AssemblerApp::exitApp();
- }
-
- public function runAssemblerAppLib()
- {
- // We use the namespace for calling our library methods
- Lib\AssemblerApp::showSplashScreen();
- echo "
";
- Lib\AssemblerApp::getData();
- Lib\AssemblerApp::showData();
- echo "
";
- Lib\AssemblerApp::exitApp();
- }
-}
-
-class Blackberry extends Mobile
-{
- public $keyboard;
-
- public function __construct($name, $chipset, $internalMemory, $imei, $keyboard)
- {
- parent::__construct($name, $chipset, $internalMemory, $imei);
- $this->keyboard = $keyboard;
- }
-}
-
-$blackberry = new BlackBerry('BlackBerry', 'ARM', 1, '99966688555', 'qwerty');
-echo $blackberry->runAssemblerApp();
-echo "
";
-echo $blackberry->runAssemblerAppLib();
diff --git a/Otherexample.php b/Otherexample.php
new file mode 100644
index 0000000..02cc796
--- /dev/null
+++ b/Otherexample.php
@@ -0,0 +1,118 @@
+body = $body;
+ $this->vehicleBrand = $vehicleBrand;
+ }
+ public function setBrakes($brakes)
+ {
+ $this->brakes = $brakes;
+ }
+ public function getBrakes()
+ {
+ return $this->brakes;
+ }
+ public function getAlldataVehicle()
+ {
+
+ return "
+ $this->wheels,
+ $this->body,
+ $this->vehicleBrand
+ ";
+ }
+ public function __destruct()
+ {
+ echo "deleting vehicles";
+ }
+}
+$myVehicle = new Vehicle("4x4", "alluminium", "bmw");
+echo $myVehicle->getAlldataVehicle();
+//inherit class
+class Car extends Vehicle
+{
+ public $wheels = "pirelli";
+ public $engine;
+ public $horsePower;
+ public function __construct($vehicleBrand, $body, $engine)
+ {
+ parent::__construct($vehicleBrand, $body);
+ $this->engine = $engine;
+ }
+ public function startEngine()
+ {
+ }
+ public function getAlldataVehicle()
+ {
+ return "$this->wheels,
+ $this->body,
+ $this->vehicleBrand,
+ $this->engine";
+ }
+}
+
+//abstract class
+abstract class DNI
+{
+ public $numbers;
+ protected $letter;
+
+ public function removeDNI()
+ {
+ echo "your dni has removed";
+ }
+ public function setLetter($letter)
+ {
+ $this->letter = $letter;
+ }
+ public function getLetter()
+ {
+ return "This user has the letter " . $this->letter;
+ }
+}
+//inherit of abstracted class
+class Identity extends DNI
+{
+ public $address;
+ public $job;
+ public $birthday;
+ public $married;
+ //etc..
+}
+$user = new Identity();
+$user->setLetter("X");
+echo "
" . $user->getLetter() . "
";
+
+interface manageEmployees
+{
+ public function editEmployee();
+ public function deleteEmployee();
+ public function createEmployee();
+}
+class employees implements manageEmployees
+{
+ public $name;
+ public $last_name;
+ public $address;
+ private $salary;
+ public function editEmployee()
+ {
+ echo "this is a test";
+ }
+ public function deleteEmployee()
+ {
+ echo "this is a test";
+ }
+ public function createEmployee()
+ {
+ echo "this is a test";
+ }
+}
diff --git a/README.md b/README.md
index e644e6a..903a1f6 100644
--- a/README.md
+++ b/README.md
@@ -1,136 +1,77 @@
-`#php` `#oop` `#master-in-software-engineering`
+# intro-oop
-# Assembler School: OOP Basics with PHP
+## Theorical part
-In this project you will learn the basics of OOP using mobile devices as a reference. In the _"Project files"_ section you will find a description of the content to be displayed in each file.
+What is object-oriented programming in general terms?
+>Object-oriented programming combines a group of data attributes
+with functions or methods into a unit called an "object."
-## Table of contents
+What is a class?
+>a class is a blueprint for creating objects (a particular data structure), providing initial values like methods, or attributes
-- [Table of contents](#table-of-contents)
-- [Getting Started](#getting-started)
-- [Dependencies](#dependencies)
-- [Tools](#tools)
-- [OOP Introduction](#oop-introduction)
-- [Project files](#project-files)
+What is an object?
+> An object is an instance of a particular class
-## Getting Started
-### The repo
+What is an instance?
+>an instance is a concrete occurrence of any object, existing usually during the runtime of a program, the best example i'ts with cars, The class is Cars, and a instance is "Peugeot 406"
-First, you will need to clone the repo:
+What is a property?
+>Properties are characteristics or attributes of an object. An example of an object is a person. A person will have attributes such as name, gender, age, height, and weight.
-```bash
-$ git clone https://github.com/assembler-school/oop-basics.git
-```
-### Presentation material
+What is a method?
+>Methods are functions of a class
-- [Slides](https://docs.google.com/presentation/d/1cZxutGPDqUGsLWLVen_ATjd7dEkeoPS_v_fy1y0C5Co/edit?usp=sharing)
-## Dependencies
+What is the difference between a function and a method?
+> A function is a piece of code that is called by name. It can be passed data to operate on (i.e. the parameters) and can optionally return data (the return value). A method is a piece of code that is called by a name that is associated with an object.
-Before we can get started you will need to make sure that all the necessary dependencies are installed in your system.
+What is a constructor?
+>is a special type of subroutine called to create an object. It prepares the new object for use, often accepting arguments that the constructor uses to set required member variables
-### PHP
+What is the difference between a class, an object and an instance?
+> A class contains attributes, after, with these attr, we can instance a variable, that variable will convert into an object.
-You can install it by following the instructions [in the official docs](https://www.php.net/downloads) (we recommend that you install the version that is named _Current_).
+What do we understand about the concept of encapsulation?
+> The encapsulation it's a type of visibility in OOP, and it have 3 options, public (all can access), private (only own class can access) and protected (class owner and sons can access to this encapulation level).
-To verify that you have installed it correctly, you can run the following command from the terminal that should output the version installed:
+What do we understand about the concept of abstraction?
+>An abstraction is a template, this template will give way to other classes that can inherit its properties and methods.
-```bash
-$ php -version
-```
+What do we understand about the concept of inheritance?
+> This concept takes sense when we try to create similar classes, with same attributes, to simplify this, we can inherit classes to each others. This will save us a few lines of code.
-## Tools
+What do we understand about the concept of polymorphism?
+>it describes the concept that you can access objects of different types through the same interface.
-In the event that you prefer to use a tool that installs everything you need to configure and run a PHP server, we recommend using [XAMPP](https://www.apachefriends.org/es/download.html)
+What do we understand about the concept of Overload?
+>Method overloading is a form of polymorphism in OOP. ... Overloading happens when you have two methods with the same name but different signatures (or arguments).
-### XAMPP
+What do we understand about the concept of Override?
+>Overriding is a feature that allows a subclass or child class to provide a specific implementation of a method that is already provided by one of its super-classes or parent classes.
-XAMPP is a completely free and easy to install Apache distribution that contains MariaDB, PHP, and Perl. The XAMPP installation package has been designed to be incredibly easy to install and use.
+What differences exist between the concept of Overload and Override?
+>Overriding means, giving a different definition of an existing function with same parameters, and overloading means adding a different definition of an existing function with different parameters.
-
+What is a static class?
+>A static class basically boils down to a class which can only have a single object implement it
-You have to go to the [download page](https://www.apachefriends.org/es/download.html) and it will automatically recommend installing the latest version available.
+Look for 3 advantages over object-oriented programming compared to other programming paradigms
+- Improved productivity: we can reuse code in an easy way and code faster
+- High abstraction level: focused on the functionalities not in the code
+- Rich encapsulation: makes secure and easy to maintain code
-
+Look for disadvantages of this paradigm.
+- Steep learning curve: may take time to get used to it
+- Larger program size
+- Slower programs
-Once downloaded and installed, in the case that the Windows operating system you will see the following screen, in which you will only have to start the Apache service.
-
+##Explanation of the pill
-## OOP Introduction
-
-Object-oriented programming (OOP) is a programming paradigm based on the concept of "objects", which can contain data and code: data in the form of fields (often known as attributes or properties), and code, in the form of procedures (often known as methods).
-
-## Project files
-
-### [01 - Classes](./01-classes.php)
-
-The OOP paradigm encapsulates concepts of the real world in what is called as Classes which create Objects. In this file you will learn how to create a class and instanciate it.
-
-### [02 - Properties](02-properties.php)
-
-Class member variables are called properties. In this file, you will learn how to add properties to a class and get them when the class is instantiated.
-
-### [03 - Methods](03-methods.php)
-
-Properties define the characteristics of an object and the methods (functions in a class are called methods) which define the behavior of the Class. In this file you will learn how to create methods inside a class.
-
-### [04 - Getters](04-getters.php)
-
-The get method returns the attribute value, usually there is a get method for each attribute of the class. In this file you will learn how to create **getter** methods.
-
-### [05 - Setters](05-setters.php)
-
-The set method sets the attribute value, usually there is a get method for each attribute of the class. In this file you will learn how to create **setter** methods.
-
-### [06 - Constructors](06-constructors.php)
-
-A constructor allows you to initialize an object's properties upon creation of the object. In this file you will learn how to create the constructor method.
-
-### [07 - Inheritance problem](07-inheritance-problem.php)
-
-There are several disadvantages of not applying inheritance in our code. In this file you will lean what's the problem if you don't apply any inheritance in your code.
-
-### [08 - Inheritance soluction](08-inheritance-solution.php)
-
-The child class will inherit all the public and protected properties and methods from the parent class. In addition, it can have its own properties and methods. In this file you will learn how to apply the inheritance in your code.
-
-### [09 - Public, private & protected](09-public-private-protected.php)
-
-Properties and methods can have access modifiers which control where they can be accessed. In this file you will learn le three access modifiers.
-
-### [10 - Static](10-static.php)
-
-Static properties and methods can be called directly - without creating an instance of the class first. In this file you will learn how to use static properties and methods.
-
-### [11 - Const](11-const.php)
-
-Constants cannot be changed once it is declared. Class constants can be useful if you need to define some constant data within a class. In this file you will learn how to create constants within a class.
-
-### [12 - Abstract classes](12-abstract-classes.php)
-
-Abstract classes and methods are when the parent class has a named method, but need its child class(es) to fill out the tasks. In this file you will learn how to create and use abstract classes.
-
-### [13 - Interfaces](13-interfaces.php)
-
-Interfaces allow you to specify what methods a class should implement.
-Interfaces make it easy to use a variety of different classes in the same way. When one or more classes use the same interface, it is referred to as "polymorphism". In this file you will learn how to create and extend interfaces.
-
-### [14 - Overriding](14-overriding.php)
-
-In function overriding, both parent and child classes should have same function name with and number of arguments. In this file you will learn how to implement overriding.
-
-### [15 - Overloading](15-overloading.php)
-
-Function overloading contains same function name and that function preforms different task according to number of arguments. In this file you will learn how to implement overloading.
-
-### [16 - Namespaces](16-namespaces.php)
-
-Namespaces are qualifiers that solve two different problems:
-
-1. They allow for better organization by grouping classes that work together to perform a task
-2. They allow the same name to be used for more than one class
-
-In this file you will learn how to create and use namespaces.
+You'll find two files, they're both commented by sections.
+OtherExample.php
+>This file is about Vehicles, classes of vehicles and manage Employees
+BaseClass.php
+>This file is about deskSetups, clerk setup, gaming setup, games interface, etc.
\ No newline at end of file
diff --git a/assets/img/xampp-app.png b/assets/img/xampp-app.png
deleted file mode 100644
index 144ec73..0000000
Binary files a/assets/img/xampp-app.png and /dev/null differ
diff --git a/assets/img/xampp-download.png b/assets/img/xampp-download.png
deleted file mode 100644
index 0e06cbb..0000000
Binary files a/assets/img/xampp-download.png and /dev/null differ
diff --git a/assets/img/xampp-homepage.png b/assets/img/xampp-homepage.png
deleted file mode 100644
index c33ea9f..0000000
Binary files a/assets/img/xampp-homepage.png and /dev/null differ
diff --git a/baseClass.php b/baseClass.php
new file mode 100644
index 0000000..65bf305
--- /dev/null
+++ b/baseClass.php
@@ -0,0 +1,122 @@
+headset = $headset;
+ $this->mouse = $mouse;
+ $this->keyboard = $keyboard;
+ }
+ public function getMonitor()
+ {
+ return $this->monitor;
+ }
+
+ public function setIsWorking(bool $boolean)
+ {
+ $this->isManager = $boolean;
+ }
+
+ public function turnMonitorOn()
+ {
+ echo "Your monitor " . $this->monitor . " is on. TIME TO WORK!";
+ }
+ public function __destruct()
+ {
+ echo "
Turning monitor off before going out of the work";
+ }
+}
+//inherit class
+class GamerSetup extends ClerkSetup
+{
+ public static $chair = "Gaming chair";
+ public $monitor = "ASUS ROG STRIX";
+ public $hasConsole;
+ function __construct($headset, $mouse, $keyboard)
+ {
+ parent::__construct($mouse, $keyboard, $headset);
+ $this->headset = $headset;
+ }
+ function turnMonitorOn()
+ {
+ echo "
Setting hz to the right frequence..";
+ }
+ function setHasConsole(bool $boolean)
+ {
+ $this->hasConsole = $boolean;
+ }
+ function __destruct()
+ {
+ echo "
turning monitor off before you disconnecting your gaming pc";
+ }
+}
+
+$mark = new ClerkSetup("earPods", "BENQ", "logitech", "logitech");
+
+$mark->turnMonitorOn();
+
+$mark->setIsWorking(true);
+
+$gamer1 = new GamerSetup("Logitech g435", "ZOWIE 144hz", "G PRO", "newskill");
+
+print_r($gamer1);
+
+GamerSetup::$chair;
+
+//abstract class
+abstract class Computer
+{
+ public $cpu;
+ public $gpu;
+ public $motherboard;
+ public $case;
+ public function turnComputerOn()
+ {
+ echo "turning computer on";
+ }
+ public function changeGpu($newgpu)
+ {
+ $this->gpu = $newgpu;
+ }
+}
+
+class Laptop extends Computer
+{
+ public $batery;
+ //etc...
+}
+
+interface gameUI
+{
+ public function startGame();
+ public function updateGame();
+ public function exitGame();
+ public function searchMatch();
+}
+
+class Game implements gameUI
+{
+ public function startGame()
+ {
+ echo "Starting game...";
+ }
+ public function updateGame()
+ {
+ echo "Updating, please wait...";
+ }
+ public function exitGame()
+ {
+ echo "come back later...";
+ }
+ public function searchMatch()
+ {
+ echo "Searching match..";
+ }
+}
diff --git a/mobileLibs.php b/mobileLibs.php
deleted file mode 100644
index 3b4fa8f..0000000
--- a/mobileLibs.php
+++ /dev/null
@@ -1,51 +0,0 @@
-