dividiremos este tutorial en las subsiguientes unidades, que son las que definen si un argot es orientado a objetivos 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 tradicional, la programación dirigida a propósitos se semilla en estofas y objetos.
una dependencia contiene plumazos o heredades y razonamientos que son las actuaciones. Esto es en extremo importante tenerlo claro. Método es correspondiente de Función. Atributo es parecido de Propiedad.
la Clase sería poco así como un ejemplo y a partir de ese canon se crean objetos.
en Php definimos una categoría de la subsiguiente manera:
class Cliente { // Aquí va el reglamento de nuestra clase }
mediante las líneas de reglamento de en lo alto se define la categoría “cliente” la cual utilizaremos para nuestro tutorial.
si perfectamente este tutorial no está enfocado a puntualizar los conocimientos de la Programación Orientada a Objetos, es agradable concretar que el prestigio de la ralea no debe ser en plural, por este lugar nombramos “cliente” en enclave de “clientes”.
métodos y Atributos
los razonamientos y los rasgos se definen “codifican” interiormente de la función. El carácter de una calidad es una propiedad.
atributos:
el ordenamiento y la prolijidad en programación son en extremo importantes. Por lo tanto, comenzaremos averiguar nuestra casta de “arriba” hacia “abajo”. Lo frontal que se define en una clase son los atributos.
por ejemplo: en nuestra aula de canon “cliente” un trazo seria “nombre”, “apellido”, “edad” etc.
si nuestro patrón afuera una variedad “automovil”, los trazos serian: “rueda”,”marca”,”modelo” etc. ¿más claro ahora?
muy aceptablemente, sigamos delante definiendo los caracteres de nuestra variedad, para lo cual utilizaremos la voz aislada “private” o si trabajas con traducciones de Php inferiores a 5.0 deberás servirse “var”, por lo tango nuestra colección se orilla de la subsiguiente manera:
class Cliente { // estos títulos de debajo son los rasgos o haciendas de nuestra clase private $mnombre; private $mapellido; private $mdireccion; private $mpais; private $mtelefono; private $medad; private $mfechanacimiento; }
en otras voces, los atributos son patentes o franqueables adentro la propia clase. si seguimos los estándares de Programación Orientada a Objetos debemos fijar los carácteres como oficiosos. Es decir, que sean naturales únicamente desde internamente de la variedad misma, por lo tango utilizamos “private”. En otras palabras, ninguna otra clase y en ninguna otra parte de precepto se podrá trastornar un trazo perteneciente a métodos o Funciones: un uso es lo mismo que una diligencia, es una parte de precepto en el interior de la clase que realiza una profesión y puede reponer un precio o no. los antiguos sistemas que definiremos en nuestra clase serán los que asignan denuedos a nuestros caracteres. En este aspecto siempre hay divergencia en la hermandad de programadores. La discusión está en si es mejor producir un razonamiento para cada carácter o aceptablemente concebir caracteres públicos y de esa suerte evitamos la concreción de razonamientos unipersonales. Esto puede sonar brumoso, lo veremos con un ejemplo: para que puedas observar la diferencia es ineludible sentir auténtico la circunstancia que insume más precepto para que luego las puedas concomitar. Entonces, volviendo a los usos, definiremos dos que se encargaran de entregarse y volver un arrojo a la finca nombre. métodos que controlan nuestros atributos. agregamos el subsiguiente precepto ya seguidamente de nuestras propiedades. la variedad “cliente” con los procedimientos quedaría de la subsiguiente manera: el uso “setnombre” recibe un grado por parámetro y por medio de la conveniencia de “$this” lo asignamos. Recuerda, “$this” se usa solo adentro de las clases. el razonamiento “getnombre” funciona de apariencia inversa y retorna el atrevimiento de la finca, utilizamos “return” para devolverlo. el ejemplo de en lo alto es el más recomendado, sin embargo requiere más líneas de edicto, lo que se traduce en más tiempo. recién ya estaríamos en calañas de efectuar evidencias con nuestra variedad. Luego, veremos la segunda forma de designar esfuerzos a los trazos de la clase. para demostrar lo que hemos entrado aprendiendo inclusive inmediatamente créate una página php señal prueba.php y agrega el reglamento siguiente: analizando un poco el estatuto, la primera línea lo que hace es entrometer el clasificador que tiene la disertación “cliente”, una sucesión incluida en “prueba.php” inmediatamente podemos utilizarla. lo antiguo que hay que trabajar para poseer la categoría es “crear una instancia” de la misma. Lo que nos da un efecto o ejemplo de esa jaez, por ende: “$auxcliente = new Cliente();” nos crea un fin convocado ““$auxcliente” de la clase “cliente”. Recuerden que es un fin y esta “vacío” en lexicón cotidiano. Es un molde. usando un dominio más benévolo, el cliente no tiene renombre, patronímico, teléfono etc por el momento. al poseer ahora nuestro objetivo podemos asignarle un prestigio al cliente, lo hacemos utilizando el estilo igual de la subsiguiente manera: ya tenemos un cliente, hoy creamos otro de la subsiguiente manera. la fase en al creamos nuestro segundo cliente es equiparable al inicial, solo que ya utilizaremos un nuevo objetivo “$auxcliente2”. Recuerda, siempre que quieras percibir un nuevo fin tienes que disfrutar “new Objeto()” en nuestro canon “new Cliente()”. una sucesión adjudicado el renombre a ambos clientes comprobamos que en realidad cada cliente tenga su prestigio y que cada cliente es un fin distinto. lo verificamos de la subsiguiente forma: el redundado será: retomando el quid relacionado a si debemos llevarse razonamientos para controlar las fincas de nuestra naturaleza o no, debemos acudir algunas alteraciones en nuestra clase. como habrás notado la manera de gratificar un importe a la heredad “mnombre” fue utilizando el razonamiento “setnombre” y para restablecerse el coraje utilizamos el razonamiento “getnombre” que no son otra cosas que jerarquías públicas constreñidas internamente de la clase. existe una manera no siempre advertida de controlar los carácteres sin usufructuar razonamientos, esto es definiendo las heredades como públicas, para lo cual podemos usufructuar “var” o “public” en sucesión de “private”. la delimitación de las fincas quedaría así: como habrás podido hallar nuestra categoría inmediatamente no tiene los estilos “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 exequible obtener a ellas desde cualquier parte del estatuto. Es decir, desde interiormente de la condición a través de la conveniencia de “$this” y desde afuera. probaremos nuestro segundo estereotipo 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 importe a una variable común en Php. lo mismo para recobrar el arrojo de la heredad, accedemos bruscamente así “$auxcliente->mnombre” todo asaz proporcionadamente. Ahora, ¿cuál es la mejor forma? esto es en extremo referente y depende de la aplicación que estés desarrollando. Lo que si es cierto es que si utilizas el uso más sencillo te estarías saliendo de los estándares de florecimiento de aplicaciones dirigidas a objetivos. Existen colectividades que son bastante rígidas en estas metodologías y exigen a sus programadores la insistencia de estas técnicas para que el estatuto raíz final sea uniforme. este tutorial pretende ser lo más laboral aparente, por ende mostramos ambas facetas. Depende del programador cual usar. los razonamientos no son solo útiles para accionar las fincas. De hecho esta es una de las ocupaciones fuera de importante que realizan los métodos. podemos explotar un razonamiento para determinar la edad de la cabeza basada en la época de nacimiento. agregamos lo subsiguiente a nuestra clase: la representación “calcularedad” tiene el labor de darnos la perduración de un cliente cimentado en la data de brote. Es sin vacilación un claro canon de cómo podemos exprimir los métodos. vamos a confirmar el razonamiento agregando el subsiguiente fuero en una página Php en blanco: con esto último terminamos el capítulo relacionado a Métodos y Propiedades. sin incertidumbre es una de las características más adelantadas en los vocabularios dirigidos a objetivos, y Php relación con esta característica. cuando hablamos de cesión nos referimos a procedimientos y heredades que se “importan” de otra jaez. Como la voz lo dice, heredamos clases que ahora están hechas. la fortuna nos sirve para ahorrarnos labor y reutilizar cosas que inmediatamente están hechas. por modelo: si en nuestra entidad tenemos clientes, suministradores y empleados. Todos tienen cosas en común, todos tienen renombre, patronímicos, teléfonos, paraje etc. llevándolo al plano analítico, todos son habitantes. Por lo tanto, podemos especificar una calidad “persona”, la cual contenga todos los rasgos y estilos comunes al cliente, suministrador y empleado. podemos aseverar que estas categorías heredaran de Persona los caracteres en común. para principiar definimos la aula Persona: y nuestra calidad “cliente” quedara así: a primera mirada parece vacía, sin razonamientos tampoco heredades. Pero, si prestamos prudencia, vemos la fidelidad usada para heredar “extends” y a cadeneta “persona”. Esto, es decir quiere articular que la ralea Cliente hereda todas las fincas y razonamientos de Persona. para ejemplificar la conveniencia de la riqueza utilizaremos otra condición convocatoria “”empleado”. al heredar nos evitamos tener que detallar los procedimientos y heredades para cada una de las funciones separadamente, evitando así el estatuto doblado y aprovechamos al máximo la reutilización, uno de los albores cardinales de esta metodología. para testificar que Cliente y Empleado heredaron utiliza los arquetipos de la comida anterior. siempre que ejecutamos “$auxcliente = new Cliente();” decimos que construimos el propósito Cliente. Se puede arrear el azar que podríamos bienquistar proceder determinadas batallas en el mismo plazo de génesis o institución del objetivo. Para esto usamos el edificador, que no es más que un clasificación que se ejecuta automáticamente. en Php5 el edificante se define con “__construct” en lecturas anteriores el edificante se define con una interpretación con el mismo prestigio de la calidad. Por ejemplo en nuestra aula “cliente” el edificante se definiría de la subsiguiente manera: en el molde utilizamos el edificador para valorar la época automáticamente a posteriori de instanciar el objeto. el aniquilador de una categoría se utiliza para ejecutar importaciones cuando se destruye el propósito, en otras palabras cuando se elimina de la reminiscencia. Esta funcionalidad es asaz aprovechada en procedimientos de chat. Donde necesitamos refrescar la pata de numeros siquiera correctamente el turista cierra la página. es la inteligencia de los efectos de sujetar otros objetivos en el interior de sí mismo. Un buen arquetipo podría ser que una filial tiene clientes. Por lo tanto, un efecto cliente podría estar internamente del fin empresa. creamos nuestra categoría “empresa” en un estante de experimientación agregamos el subsiguiente código: el razonamiento “agregarcliente” introduce el fin Cliente internamente del objetivo Empresa y “getcliente” nos lo devuelve. por lo acierto 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 caracteres o fincas 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 mérito a la hacienda nombre { $this->mnombre = $val; } function Getnombre() //método que retorna el grado conferido a la finca nombre { return $this->mnombre ; } }
probando nuestra clase:
require("classes/cliente.php"); //creamos propósito para nuestro primer cliente $auxcliente = new Cliente(); //asignamos un prestigio a nuestro fin Cliente $auxcliente->setnombre("ariel") ; //creamos efecto para nuestro segundo cliente $auxcliente2 = new Cliente(); //asignamos un prestigio a nuestro segundo propósito 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 disfrutar la clase:
paso 2, asignar cojones a los atributos:
//asignamos un renombre a nuestro propósito Cliente $auxcliente->setnombre("ariel") ;
//creamos propósito para nuestro segundo cliente $auxcliente2 = new Cliente(); //asignamos un prestigio a nuestro segundo fin Cliente $auxcliente2->setnombre("pedro") ;
paso 3, verificar funcionamiento de la clase:
//recuperamos el prestigio que asignamos por medio de el sistema Getnombre echo "el prestigio del primer cliente es: ".$auxcliente->getnombre()."<br>"; echo "el prestigio del segundo cliente es: ".$auxcliente2->getnombre()."<br>";
//el renombre del primer cliente es: Ariel //el renombre del segundo cliente es: Pedro
class Cliente { // esto de debajo son los carácteres o fincas de nuestra clase public $mnombre; public $mapellido; public $mdireccion; public $mpais; public $mtelefono; public $medad; public $mfechanacimiento; }
require("classes2/cliente.php"); //creamos fin para nuestro primer cliente $auxcliente = new Cliente(); //asignamos un prestigio a nuestro fin Cliente $auxcliente->mnombre = "ariel" ; //creamos efecto para nuestro segundo cliente $auxcliente2 = new Cliente(); //asignamos un renombre a nuestro segundo objetivo Cliente $auxcliente2->mnombre = "pedro" ; //recuperamos el prestigio que asignamos por medio de el metodo Getnombre echo "el renombre del primer cliente es: ".$auxcliente->mnombre."<br>"; echo "el renombre del segundo cliente es: ".$auxcliente2->mnombre."<br>";
$auxcliente->mnombre = "ariel" ;
¿qué otro método tienen los Métodos?
function Setfechanacimiento($val) //método que asigna una brío a la finca Fecha de Nacimiento { $this->mfechanacimiento = $val; } function Getedad() //método que retorna el coste brindado a la hacienda 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 prestigio a nuestro objetivo 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 alcance a la heredad nombre { $this->mnombre = $val; } function Getnombre() //método que retorna el grado facilitado 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 objetivo 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 renombre a nuestro efecto Cliente $auxcliente->setnombre("ariel") ; //asignamos época de nacimiento $auxcliente->setfechanacimiento("1979-11-19") ; //calculamos edad $auxcliente->calcularedad() ; //agregamos el cliente adentro de la empresa $auxempresa->agregarcliente($auxcliente) ; //recuperamos el prestigio 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