dividiremos este tutorial en las subsiguientes unidades, que son las que definen si un idioma es orientado a propósitos o no:
· Clases y Objetos
· Métodos y atributos
· Herencia de clases
· Constructores y destructores
· Encapsulamiento
clases y Objetos:
a diferencia de la programación ancestral, la programación guiada a propósitos se almohadilla en disciplinas y objetos.
una familia contiene plumazos o fincas y razonamientos que son las jerarquías. Esto es en extremo importante tenerlo claro. Método es equivalente de Función. Atributo es igual de Propiedad.
la Clase sería poco así como un modelo y a partir de ese modelo se crean objetos.
en Php definimos una calaña de la subsiguiente manera:
class Cliente { // Aquí va el edicto de nuestra clase }mediante las líneas de estatuto de por encima se define la raza “cliente” la cual utilizaremos para nuestro tutorial.
si admisiblemente este tutorial no está enfocado a puntualizar los ensimismamientos de la Programación Orientada a Objetos, es devoto blanquear que el prestigio de la disciplina no debe ser en plural, por este lugar nombramos “cliente” en punto de “clientes”.
métodos y Atributos
los razonamientos y los rasgos se definen “codifican” en el interior de la categoría. El plumazo de una calaña es una propiedad.
atributos:
el especie y la prolijidad en programación son asaz importantes. Por lo tanto, comenzaremos averiguar nuestra calidad de “arriba” hacia “abajo”. Lo original que se define en una categoría son los atributos.
por ejemplo: en nuestra subordinación de arquetipo “cliente” un plumazo seria “nombre”, “apellido”, “edad” etc.
si nuestro patrón afuera una talante “automovil”, los plumazos serian: “rueda”,”marca”,”modelo” etc. ¿más claro ahora?
muy acertadamente, sigamos delante definiendo los plumazos de nuestra ralea, para lo cual utilizaremos la voz escusada “private” o si trabajas con traducciones de Php inferiores a 5.0 deberás emplear “var”, por lo tango nuestra ralea se ribera de la subsiguiente manera:
class Cliente { // estos arrojos de debajo son los rasgos o fincas de nuestra clase private $mnombre; private $mapellido; private $mdireccion; private $mpais; private $mtelefono; private $medad; private $mfechanacimiento; }en otras fidelidades, los atributos son aparentes o asequibles adentro la propia clase. si seguimos los estándares de Programación Orientada a Objetos debemos concretar los carácteres como escasos. Es decir, que sean asequibles sólo desde en el interior de la talante misma, por lo tango utilizamos “private”. En otras palabras, ninguna otra aula y en ninguna otra parte de precepto se podrá alterar un trazo perteneciente a métodos o Funciones: un razonamiento es lo mismo que una gala, es una parcialidad de precepto adentro de la enseñanza que realiza una faena y puede expulsar un valor o no. los auténticos procedimientos que definiremos en nuestra categoría serán los que asignan ánimos a nuestros carácteres. En este tanto siempre hay diferencia en la junta de programadores. La discusión está en si es mejor inventar un razonamiento para cada rasgo o perfectamente imaginar plumazos públicos y de esa forma evitamos la concreción de procedimientos unipersonales. Esto puede sonar ambiguo, lo veremos con un ejemplo: para que puedas disfrutar la diferencia es necesitado hallar original la guisa que insume más estatuto para que luego las puedas coincidir. Entonces, volviendo a los usos, definiremos dos que se encargaran de entregarse y volver un esfuerzo a la heredad nombre. métodos que controlan nuestros atributos. agregamos el subsiguiente estatuto rápidamente posteriormente de nuestras propiedades. la condición “cliente” con los estilos quedaría de la subsiguiente manera: el razonamiento “setnombre” recibe un grado por parámetro y a través de la explotación de “$this” lo asignamos. Recuerda, “$this” se usa solo internamente de las clases. el uso “getnombre” funciona de manera inversa y retorna el desafío de la finca, utilizamos “return” para devolverlo. el ejemplo de por encima es el más recomendado, sin embargo requiere más líneas de edicto, lo que se traduce en más tiempo. recién inmediatamente estaríamos en calidades de verificar evidencias con nuestra jaez. Luego, veremos la segunda forma de aplicar grados a los rasgos de la clase. para testificar lo que hemos caido aprendiendo aun hoy créate una página php citación prueba.php y agrega el precepto siguiente: analizando un poco el estatuto, la primera línea lo que hace es encerrar el anaquel que tiene la clase “cliente”, una oportunidad incluida en “prueba.php” ahora podemos utilizarla. lo exterior que hay que labrar para disfrutar la ralea es “crear una instancia” de la misma. Lo que nos da un efecto o individuo de esa cátedra, por ende: “$auxcliente = new Cliente();” nos crea un fin pulsado ““$auxcliente” de la colección “cliente”. Recuerden que es un fin y esta “vacío” en dialecto cotidiano. Es un molde. usando un territorio más bienintencionado, el cliente no tiene renombre, patronímico, teléfono etc por el momento. al albergar ahora nuestro efecto podemos asignarle un renombre al cliente, lo hacemos utilizando el razonamiento equivalente de la subsiguiente manera: ya tenemos un cliente, hoy creamos otro de la subsiguiente manera. la apariencia en al creamos nuestro segundo cliente es semejante al anterior, solo que hoy día utilizaremos un nuevo fin “$auxcliente2”. Recuerda, siempre que quieras alcanzar un nuevo objetivo tienes que exprimir “new Objeto()” en nuestro prototipo “new Cliente()”. una sucesión ofrendado el renombre a entreambos clientes comprobamos que efectivamente cada cliente tenga su prestigio y que cada cliente es un efecto distinto. lo verificamos de la subsiguiente forma: el refluido será: retomando el clavo relacionado a si debemos esgrimir sistemas para controlar las heredades de nuestra ralea o no, debemos pleitear algunas variaciones en nuestra clase. como habrás intentado la fase de entregarse un coste a la heredad “mnombre” fue utilizando el estilo “setnombre” y para restablecerse el coraje utilizamos el razonamiento “getnombre” que no son otra cosas que categorías públicas establecidas internamente de la clase. existe una guisa no siempre enchufista de controlar los plumazos sin explotar procedimientos, esto es definiendo las fincas como públicas, para lo cual podemos usufructuar “var” o “public” en sucesión de “private”. la delimitación de las haciendas quedaría así: como habrás podido escrutar nuestra ciencia ahora no tiene los razonamientos “set” y “get” que se encargaban de las propiedades. ¿cómo controlamos las fincas sin los métodos? dado que las haciendas se definieron como públicas es factible lograr a ellas desde cualquier parte del reglamento. Es decir, desde en el interior de la ralea por medio de la conveniencia de “$this” y desde afuera. probaremos nuestro segundo exponente con las subsiguientes líneas de código: dado que las haciendas son públicas asignamos un prestigio de la misma guisa que asignamos un esfuerzo a una variable común en Php. lo mismo para desempolvar el coraje de la finca, accedemos bruscamente así “$auxcliente->mnombre” todo enormemente perfectamente. Ahora, ¿cuál es la mejor forma? esto es bastante concerniente y depende de la aplicación que estés desarrollando. Lo que si es cierto es que si utilizas el razonamiento más sencillo te estarías saliendo de los estándares de desarrollo de aplicaciones encaminadas a propósitos. Existen misiones que son altamente rígidas en estas metodologías y exigen a sus programadores la insistencia de estas menstruaciones para que el precepto manantial final sea uniforme. este tutorial pretende ser lo más laboral plausible, por ende mostramos entreambas guisas. Depende del programador cual usar. los razonamientos no son solo útiles para acelerar las heredades. De hecho esta es una de las ocupaciones fuera de importante que realizan los métodos. podemos aprovechar un razonamiento para apreciar la permanencia de la cualquiera basada en la época de nacimiento. agregamos lo subsiguiente a nuestra clase: la diligencia “calcularedad” tiene el labor de darnos la vida de un cliente descansado en la data de brote. Es sin vacilación un claro modelo de cómo podemos usufructuar los métodos. vamos a catar el uso agregando el subsiguiente estatuto en una página Php en blanco: con esto último terminamos el capítulo relacionado a Métodos y Propiedades. sin vacilación es una de las características más avanzadas en los estilos encauzados a objetivos, y Php enumeración con esta característica. cuando hablamos de caudal nos referimos a estilos y fincas que se “importan” de otra calidad. Como la fidelidad lo dice, heredamos galas que ahora están hechas. la cesión nos sirve para ahorrarnos compromiso y reutilizar cosas que ahora están hechas. por ideal: si en nuestra filial tenemos clientes, abaceros y empleados. Todos tienen cosas en común, todos tienen prestigio, patronímicos, teléfonos, pueblo etc. llevándolo al plano analítico, todos son cualquieras. Por lo tanto, podemos delimitar una subordinación “persona”, la cual contenga todos los plumazos y razonamientos comunes al cliente, abacero y empleado. podemos aseverar que estas naturalezas heredaran de Persona los plumazos en común. para empezar definimos la calidad Persona: y nuestra familia “cliente” quedara así: a primera perspectiva parece vacía, sin procedimientos tampoco heredades. Pero, si prestamos prudencia, vemos la fidelidad usada para heredar “extends” y a sarta “persona”. Esto, es decir quiere expresar que la ley Cliente hereda todas las haciendas y razonamientos de Persona. para probar la renta de la donación utilizaremos otra clase reprensión “”empleado”. al heredar nos evitamos tener que detallar los razonamientos y heredades para cada una de las jaeces aparte, evitando así el fuero repetido y aprovechamos al máximo la reutilización, uno de los comienzos cardinales de esta metodología. para comprobar que Cliente y Empleado heredaron utiliza los canones de la comida anterior. siempre que ejecutamos “$auxcliente = new Cliente();” decimos que construimos el efecto Cliente. Se puede suceder el trance que podríamos respetar obrar determinadas batallas en el mismo tiempo de génesis o institución del propósito. Para esto usamos el edificador, que no es más que un clase que se ejecuta automáticamente. en Php5 el edificador se define con “__construct” en lecturas anteriores el edificador se define con una diligencia con el mismo renombre de la cátedra. Por ejemplo en nuestra categoría “cliente” el edificador se definiría de la subsiguiente manera: en el estereotipo utilizamos el edificador para peritar la vida automáticamente luego de instanciar el objeto. el exterminador de una condición se utiliza para efectuar transacciones cuando se destruye el objetivo, en otras palabras cuando se elimina de la certificada. Esta funcionalidad es en extremo explotada en métodos de chat. Donde necesitamos recordar la almohadilla de apuntes siquiera adecuadamente el turista cierra la página. es la superficie de los efectos de poseer otros propósitos interiormente de sí mismo. Un buen ejemplo podría ser que una ente tiene clientes. Por lo tanto, un fin cliente podría estar internamente del efecto empresa. creamos nuestra categoría “empresa” en un anaquel de investigación agregamos el subsiguiente código: el razonamiento “agregarcliente” introduce el objetivo Cliente internamente del fin Empresa y “getcliente” nos lo devuelve. por lo tanto lo siguiente: sería poco así en pseudocódigo: Empresa->cliente->nombre. saludos para todos y espero que el tutorial les sea útil. function Setnombre($val) { $this->mnombre = $val; } function Getnombre() { return $this->mnombre ; }class Cliente { // esto de debajo son los trazos o heredades de nuestra clase private $mnombre; private $mapellido; private $mdireccion; private $mpais; private $mtelefono; private $medad; private $mfechanacimiento; function Setnombre($val) //método que asigna una coraje a la finca nombre { $this->mnombre = $val; } function Getnombre() //método que retorna el coraje ofrecido a la finca nombre { return $this->mnombre ; } }probando nuestra clase:
require("classes/cliente.php"); //creamos objetivo para nuestro primer cliente $auxcliente = new Cliente(); //asignamos un renombre a nuestro objetivo Cliente $auxcliente->setnombre("ariel") ; //creamos propósito para nuestro segundo cliente $auxcliente2 = new Cliente(); //asignamos un prestigio a nuestro segundo efecto Cliente $auxcliente2->setnombre("pedro") ; //recuperamos el prestigio que asignamos por medio de el metodo Getnombre echo "el renombre del primer cliente es: ".$auxcliente->getnombre()."<br>"; echo "el prestigio del segundo cliente es: ".$auxcliente2->getnombre()."<br>";paso 1 para emplear la clase:
paso 2, asignar corajes a los atributos:
//asignamos un prestigio a nuestro objetivo Cliente $auxcliente->setnombre("ariel") ;//creamos propósito para nuestro segundo cliente $auxcliente2 = new Cliente(); //asignamos un renombre a nuestro segundo fin Cliente $auxcliente2->setnombre("pedro") ;paso 3, verificar funcionamiento de la clase:
//recuperamos el renombre que asignamos a través de el sistema Getnombre echo "el prestigio del primer cliente es: ".$auxcliente->getnombre()."<br>"; echo "el renombre del segundo cliente es: ".$auxcliente2->getnombre()."<br>";//el prestigio del primer cliente es: Ariel //el renombre del segundo cliente es: Pedroclass Cliente { // esto de debajo son los plumazos o fincas de nuestra clase public $mnombre; public $mapellido; public $mdireccion; public $mpais; public $mtelefono; public $medad; public $mfechanacimiento; }require("classes2/cliente.php"); //creamos propósito para nuestro primer cliente $auxcliente = new Cliente(); //asignamos un prestigio a nuestro fin Cliente $auxcliente->mnombre = "ariel" ; //creamos propósito para nuestro segundo cliente $auxcliente2 = new Cliente(); //asignamos un renombre a nuestro segundo fin Cliente $auxcliente2->mnombre = "pedro" ; //recuperamos el prestigio que asignamos a través de el metodo Getnombre echo "el prestigio del primer cliente es: ".$auxcliente->mnombre."<br>"; echo "el prestigio del segundo cliente es: ".$auxcliente2->mnombre."<br>";$auxcliente->mnombre = "ariel" ;¿qué otro usufructo tienen los Métodos?
function Setfechanacimiento($val) //método que asigna una mérito a la finca Fecha de Nacimiento { $this->mfechanacimiento = $val; } function Getedad() //método que retorna el grado atribuido a la heredad edad { return $this->medad ; } function Calcularedad() { $fecha_nacimiento = $this->mfechanacimiento; list($y, $m, $d) = explode("-", $fecha_nacimiento); $y_dif = date("y") - $y; $m_dif = date("m") - $m; $d_dif = date("d") - $d; if ((($d_dif < 0) && ($m_dif == 0)) || ($m_dif < 0)) $y_dif--; $this->medad = $y_dif; return $y_dif; }require("classes/cliente.php"); //creamos objetivo para nuestro primer cliente $auxcliente = new Cliente(); //asignamos un renombre a nuestro efecto Cliente $auxcliente->setnombre("ariel") ; //asignamos época de nacimiento $auxcliente->setfechanacimiento("1979-11-19") ; //calculamos edad $auxcliente->calcularedad() ; //recuperamos el prestigio que asignamos a través de el metodo Getnombre echo "el Cliente: ".$auxcliente->getnombre().", tiene ".$auxcliente->getedad()." años<br>";herencia de Clases
class Persona { // esto de debajo son los rasgos o haciendas de nuestra clase private $mnombre; private $mapellido; private $mdireccion; private $mpais; private $mtelefono; private $medad; private $mfechanacimiento; function Setnombre($val) //método que asigna una coste a la heredad nombre { $this->mnombre = $val; } function Getnombre() //método que retorna el arrojo atribuido a la finca nombre { return $this->mnombre ; } }require("persona.php"); class Cliente extends Persona { }require("persona.php"); class Empleado extends Persona { }constructores y Destructores
//constructor de la clase function __construct($val) { $this->mfechanacimiento = $val; $this->calcularedad(); }//creamos fin para nuestro primer cliente $auxcliente = new Cliente("1979-11-19"); echo "edad del cliente:”.$auxcliente->getedad()." años<br>";encapsulamiento
class Empresa { private $mcliente; function Agregarcliente($uncliente) //método que agrega el cliente { $this->mcliente = $uncliente; } function Getcliente() //método que retorna el cliente { return $this->mcliente ; } }require("classes/cliente.php"); require("classes/empresa.php"); $auxempresa = new Empresa(); //creamos fin para nuestro primer cliente $auxcliente = new Cliente(); //asignamos un prestigio a nuestro fin Cliente $auxcliente->setnombre("ariel") ; //asignamos época de nacimiento $auxcliente->setfechanacimiento("1979-11-19") ; //calculamos edad $auxcliente->calcularedad() ; //agregamos el cliente en el interior de la empresa $auxempresa->agregarcliente($auxcliente) ; //recuperamos el renombre que asignamos por medio de el metodo Getnombre echo "el Cliente: ".$auxempresa->getcliente()->getnombre().", tiene ".$auxempresa->getcliente()->getedad()." años<br>";$auxempresa->getcliente()->getnombre()
Este post se a creado automaticamente con autoblogger imperium descargalo Gratuito
0 comentarios:
Publicar un comentario