50 lines
		
	
	
		
			1.6 KiB
		
	
	
	
		
			Markdown
		
	
	
	
	
	
		
		
			
		
	
	
			50 lines
		
	
	
		
			1.6 KiB
		
	
	
	
		
			Markdown
		
	
	
	
	
	
|   | --- | ||
|  | title: Classes and Objects | ||
|  | localeTitle: Classes e Objetos | ||
|  | --- | ||
|  | # Classes e Objetos
 | ||
|  | 
 | ||
|  | Classes são a forma como representamos tipos de objetos no mundo. Objetos seriam as _instâncias_ reais dessa classe no mundo. Uma classe define _propriedades_ e _comportamento_ de um objeto dessa classe. A classe define como o objeto pode interagir com o resto do mundo. As aulas também nos permitem abstrair detalhes que não queremos mostrar a outras pessoas! | ||
|  | 
 | ||
|  | Digamos, por exemplo, você tem um cachorro chamado Spot. Spot é uma instância de um objeto Dog (classe). | ||
|  | 
 | ||
|  | Código PHP para definir uma classe: | ||
|  | 
 | ||
|  | ```php | ||
|  | // Dog class  | ||
|  |  class dog {  | ||
|  |     // Keep name and age private - we don't want to be able to change these!  | ||
|  |     private $name;  | ||
|  |   | ||
|  |     private $age;  | ||
|  |   | ||
|  |     // Constructor allows us to make an object of this class with given parameters.  | ||
|  |     function __construct($name, $age){  | ||
|  |         $this->name = $name;  | ||
|  |         $this->age = $age;  | ||
|  |         echo 'Dog named: '.$this->name.' is '.$this->age.' years old.';  | ||
|  |     }  | ||
|  |   | ||
|  |     // Destructor gets called when the item is deleted.  | ||
|  |     function __destruct(){  | ||
|  |         echo 'Dog '.$this->name.' has ran off into the sunset';  | ||
|  |     }  | ||
|  |   | ||
|  |     function getname() {  | ||
|  |         echo $this->name;  | ||
|  |     }  | ||
|  |   | ||
|  |     function getage() {  | ||
|  |         echo $this->age;  | ||
|  |     }  | ||
|  |   | ||
|  |  }  | ||
|  |   | ||
|  |  $mydog = new dog("Spot", "8");  | ||
|  |  echo $mydog->getname();  | ||
|  |  echo $mydog->getage();  | ||
|  | ``` | ||
|  | 
 | ||
|  | O código acima iria ecoar: Cão nomeado: Spot é de 8 anos de idade. Local 8 Dog Spot fugiu para o pôr do sol | ||
|  | 
 | ||
|  | Eu criei um objeto $ mydog de classe cachorro. Seu construtor foi chamado, usei alguns métodos dentro da classe, então o destruidor foi chamado. |