SlideShare una empresa de Scribd logo
SERGIO BARRANCO ZARCO
JULIO CESAR SALAS López
iTIC-91
Elementos que conforman una clase
Podemos declararnos elementos de tipo int, es lo que llamamos
variables.
Podemos declararnos elementos de la clase CL, en éste caso los llamaremos
objetos o instancias de la clase CL.
2. Pueden declararse elementos de ese tipo
Una clase es un conjunto de datos y un conjunto de operaciones, que como hemos dicho,
deben ir unidas.
Datos
Operaciones
Miembros
Atributos
Métodos
Esto implica que podemos tener muchos objetos de una misma clase,
igual que podíamos definir muchas variables de un tipo.
Pero una clase no es tan simple como un tipo de datos
class [Nombre de la Clase] {
[atributos]
[métodos]
}
Atributos
Los atributos son las caracterísiticas individuales que diferencian un objeto de otro y determinan su apariencia, e
u otras cualidades. Los atributos se guardan en variables denominadas de instancia, y cada objeto particular pu
tener valores distintos para estas variables.
Las variables de instancia también denominados miembros dato, son declaradas en la clase pero sus valores so
y cambiados en el objeto.
Además de las variables de instancia hay variables de clase, las cuales se aplican a la clase y a todas sus instan
Por ejemplo, el número de ruedas de un automóvil es el mismo cuatro, para todos los automóviles.
class Menu {
private $enlaces=array();
private $titulos=array();
Métodos
Los métodos de una clase constituyen la lógica de la clase, es decir, contienen el código que manipula el estado
del
objeto. Además constituyen el mecanismo utilizado para implementar los mensajes entre objetos.
Referencia $this
Es utilizado en programación orientada a objetos y se define $this dentro de un objeto como un puntero al objeto en
que está contenido.
La palabra this está disponible para hacer referencia al objeto en el que se encuentra y puede ser utilizada en
cualquier objeto
<?php
class xero{
var $nick;
function escribe($nombre){
echo "Tu anterior nick es:",$this->nick;
$this->nick=$nombre;
echo "<br>Tu actual nick es:",$this->nick,"<br>";
} }
$variable=new xero();
$variable->escribe("Xero");
$variable->escribe("Nixo");
?>
Diferentes formas para el paso de argumentos a un metodo
Los parámetros se pasan por valor
En PHP generalmente los parámetros se pasan por valor. Cuando se pasa un parámetro por valor a una función,
los cambios que se hagan sobre esta variable solo tendrán efecto en el ámbito de la función, por lo que no se
actualiza la variable que se pasó a la función.
<?php
function porValor($param)
{
$param = "hola";
echo "<BR>" . $param; //imprime "hola"
}
$var = "no cambia";
porValor($var);
echo "<BR>" . $var; //imprime "no cambia"
?>
Como se ve en el ejemplo, cuando invocamos la función por valor pasando $parametro1 como parámetro, a pesar
de que cambiemos el valor del parámetro dentro de la función, la variable original no se ve afectada por ese
cambio.
Paso de parámetros por referencia
Los parámetros pasados por referencia se comportan en contraposición al paso de parámetros por valor. En
este caso, el cambio del valor de un parámetro dentro de una función sí afecta al valor de la variable original.
Podemos pasar los parámetros por referencia si, en la declaración de la función, colocamos un "&" antes del
parámetro.
<?php
function porReferencia(&$cadena)
{
$cadena = 'Si cambia';
}
$var = 'Esto es una cadena';
porReferencia ($var);
echo $var; // Imprime 'Si cambia'
?>
Parámetros por defecto
Cuando se le define un valor a un parámetro al momento de declarar una función, este parámetro tomará ese valor
por defecto mientras no se envíe otro al momento de invocar la función. Los valores por defecto sirven para que los
parámetros contengan un dato predefinido. Se definen asignando un dato al parámetro al declararlo en la función.
Para la definición de la función anterior, $parametro1 tiene como valor por defecto "pepe", mientras que
$parametro2 tiene 3 como valor por defecto.
Para la definición de la función anterior, $parametro1 tiene como valor por defecto "pepe", mientras que
$parametro2 tiene 3 como valor por defecto.
Si llamamos a la función sin indicar valores a los parámetros, éstos tomarán los valores asignados por defecto:
• pordefecto () // $parametro1 vale "pepe" y $parametro2 vale 3
Si llamamos a la función indicando un valor, éste será tenido en cuenta para el primer parámetro.
• pordefecto ("hola") // $parametro1 vale "hola" y $parametro2 vale 3
Atención, estamos obligados a declarar todos los parámetros con valores por defecto al final.
Devolver desde un método
Los valores son devueltos usando la sentencia opcional return. Se puede devolver cualquier tipo, incluidos
arrays y objetos. Esto causa que la función finalice su ejecución inmediatamente y pase el control de nuevo a la
línea desde la que fue llamada. Véase return para más información.
Ejemplo #1 Uso de return
<?php
function cuadrado($núm)
{
return $núm * $núm;
}
echo cuadrado(4); // imprime '16'.
?>
Constructor
void __construct ([ mixed $args [, $... ]] )
Un constructor por defecto es un constructor sin parámetros que no hace nada. Sin embargo será invocado
cada vez que se construya un objeto sin especificar ningún argumento, en cuyo caso el objeto será iniciado con
los valores predeterminados por el sistema (los atributos numéricos a ceros, los alfanuméricos a nulos, y las
referencias a objetos a null).
PHP 5 permite a los desarrolladores declarar métodos constructores para las clases. Aquellas que tengan un
método constructor lo invocarán en cada nuevo objeto creado, lo que lo hace idóneo para cualquier
inicialización que el objeto pueda necesitar antes de ser usado.
<?php
function cuadrado($núm)
{
return $núm * $núm;
}
echo cuadrado(4); // imprime '16'.
?>
Herencia de Objetos
La herencia (a la que habitualmente se denomina subclases) proviene del hecho de que la subclase (la
nueva clase creada) contiene las atributos y métodos de la clase primaria. La principal ventaja de la
herencia es la capacidad para definir atributos y métodos nuevos para la subclase, que luego se aplican a
los atributos y métodos heredados.
La herencia es un principio de programación bien establecido y PHP hace uso de él en su modelado de
objetos. Este principio afectará la manera en que muchas clases y objetos se relacionan unas con otras.
Polimorfismo
El polimorfismo implica que, teniendo varias clases con métodos con el mismo nombre, otra función podrá definir
según el objeto pasado como parámetro qué método de qué clase se utilizará. Nada mejor que un ejemplo para
entenderlo:
Pongamos que tenemos 2 clases (perro y persona) que implementan la función andar
Public
Los elementos declarados como Public son accesibles
tanto desde fuera como desde dentro de la clase.
<?php
class Vehiculo
{
public $marca;
function __construct($marca)
{
$this->marca=$marca;
}
}
$micoche = new Vehiculo("Toyota");
echo $micoche->marca;
?>
El atributo marca es público y por lo tanto es visible desde
fuera de la clase.
Private
Los elementos declarados como Private son accesibles sólo
desde la misma clase donde fueron definidos.
<?php
class Vehiculo
{
private $marca;
function __construct($marca)
{
$this->marca=$marca;
}
}
$micoche = new Vehiculo("Toyota");
echo $micoche->marca;
?>
Si ejecutamos el código obtendremos el siguiente error:
Fatal error: Cannot access private property Vehiculo::$marca
El atributo marca no es visible fuera de la clase en la que se
definió.
Protected
Los elementos declarados como Protected son accesibles desde la misma clase donde fueron definidos y en sus
subclases.
<?php
class Vehiculo
{
protected $marca;
function __construct($marca)
{
$this->marca=$marca;
}
}
class Coche extends Vehiculo
{
function __construct($marca)
{
$this->marca=$marca;
}
}
$micoche = new coche("Toyota");
echo $micoche->marca;
?>
Si ejecutamos el código obtendremos el siguiente error
Fatal error: Cannot access protected property Coche
Producido por la línea que contiene este código:
echo $micoche->marca;
Este error sucede por utilizar el atributo marca fuera de la
clase Vehículo y quedar así fuera de su visibilidad. En
cambio el uso de este atributo en la clase Coche y
Vehículo es correcto.
Los métodos o atributos sin ninguna de las declaraciones
(public, private o protected) por defecto serán public.
Abstracción de clases
PHP 5 introduce clases y métodos abstractos. Las clases definidas como abstract no se pueden instanciar y
cualquier clase que contiene al menos un método abstracto debe ser definida como abstract. Los métodos definidos
como abstractos simplemente declaran la estructura del método, pero no pueden definir la implementación.
Cuando se hereda de una clase abstracta, todos los métodos definidos como abstract en la definición de la clase
parent deben ser redefinidos en la clase child; adicionalmente, estos métodos deben ser definidos con la misma
visibilidad (o con una menos restrictiva). Por ejemplo, si el método abstracto está definido como protected, la
implementación de la función puede ser redefinida como protected o public, pero nunca como private. Por otra
parte, las estructuras de los métodos tienen que coincidir; es decir, la implicación de tipos y el número de
argumentos requeridos deben ser los mismos. Por ejemplo, si la clase derivada define un parámetro opcional,
mientras que el método abstracto no, no habría conflicto con la estructura del método. Esto también aplica a los
constructores de PHP 5.4. Antes de PHP 5.4 las estructuras del constructor podían ser diferentes.
Interfaces de objetos
Las interfaces de objetos permiten crear código con el cual especificamos qué métodos deben ser
implementados por una clase, sin tener que definir cómo estos métodos son manipulados.
Las interfaces son definidas utilizando la palabra clave interface, de la misma forma que con clases
estándar, pero sin métodos que tengan su contenido definido.
Todos los métodos declarados en una interfaz deben ser public, ya que ésta es la naturaleza de una
interfaz.
Interfaces con constantes
<?php
interface a
{
const b = 'Interface constant';
}
// Imprime: Interface constant
echo a::b;
// Sin embargo ésto no funcionará ya que no está permitido
// sobrescribir constantes
class b implements a
{
const b = 'Class constant';
}
?>

Más contenido relacionado

La actualidad más candente

2.android java
2.android   java2.android   java
2.android java
guidotic
 
06 diagrama de clases1
06 diagrama de clases106 diagrama de clases1
06 diagrama de clases1
ViReal
 
Introducción a la Programaciónen Java
Introducción a la Programaciónen JavaIntroducción a la Programaciónen Java
Introducción a la Programaciónen Java
santosisidrorivera
 
Metodos Get y Set, finalmente revelados.
Metodos Get y Set, finalmente revelados.Metodos Get y Set, finalmente revelados.
Metodos Get y Set, finalmente revelados.
Juan Carlos Espinoza
 
8.Clases y objetos Java
8.Clases y objetos Java8.Clases y objetos Java
8.Clases y objetos Java
Ramiro Estigarribia Canese
 
9 Curso de POO en java - variables, constantes y objetos
9 Curso de POO en java - variables, constantes y objetos9 Curso de POO en java - variables, constantes y objetos
9 Curso de POO en java - variables, constantes y objetos
Clara Patricia Avella Ibañez
 
11 Curso de POO en java - métodos constructores y toString()
11 Curso de POO en java - métodos constructores y toString()11 Curso de POO en java - métodos constructores y toString()
11 Curso de POO en java - métodos constructores y toString()
Clara Patricia Avella Ibañez
 
ProgramacióN Orientada A Objetos
ProgramacióN Orientada A ObjetosProgramacióN Orientada A Objetos
ProgramacióN Orientada A Objetos
Patricio Abad
 
C2 clases en java
C2 clases en javaC2 clases en java
C2 clases en java
Mariano Galvez
 
Charla Objetos Persistentes
Charla Objetos PersistentesCharla Objetos Persistentes
Charla Objetos Persistentes
Biz Partner
 
Programación orientada a objetos
Programación orientada a objetosProgramación orientada a objetos
Programación orientada a objetos
Joseph Bros
 
Leguaje de programacion C#
Leguaje de programacion C#Leguaje de programacion C#
Leguaje de programacion C#
Ana Maria Martinez
 
Programación ii presentación tema 5
Programación ii presentación tema 5Programación ii presentación tema 5
Programación ii presentación tema 5
Joel Mieses
 
Poo Java
Poo JavaPoo Java
Poo Java
eccutpl
 
Programación Orientada a Objetos en Java - Parte I 2015
Programación Orientada a Objetos en Java - Parte I 2015Programación Orientada a Objetos en Java - Parte I 2015
Programación Orientada a Objetos en Java - Parte I 2015
Renny Batista
 
Matrices en php
Matrices en phpMatrices en php
Matrices en php
Jorge-villamar
 
Unidad 2 clases y objetos
Unidad 2 clases y objetosUnidad 2 clases y objetos
Unidad 2 clases y objetos
Kimuro Vissaseus
 
Conceptos poo progra visual
Conceptos poo progra visualConceptos poo progra visual
Conceptos poo progra visual
Libertad25
 
10 Curso de POO en java - métodos modificadores y analizadores
10 Curso de POO en java - métodos modificadores y analizadores10 Curso de POO en java - métodos modificadores y analizadores
10 Curso de POO en java - métodos modificadores y analizadores
Clara Patricia Avella Ibañez
 
programacion orientada a objetos
programacion orientada a objetosprogramacion orientada a objetos
programacion orientada a objetos
ale8819
 

La actualidad más candente (20)

2.android java
2.android   java2.android   java
2.android java
 
06 diagrama de clases1
06 diagrama de clases106 diagrama de clases1
06 diagrama de clases1
 
Introducción a la Programaciónen Java
Introducción a la Programaciónen JavaIntroducción a la Programaciónen Java
Introducción a la Programaciónen Java
 
Metodos Get y Set, finalmente revelados.
Metodos Get y Set, finalmente revelados.Metodos Get y Set, finalmente revelados.
Metodos Get y Set, finalmente revelados.
 
8.Clases y objetos Java
8.Clases y objetos Java8.Clases y objetos Java
8.Clases y objetos Java
 
9 Curso de POO en java - variables, constantes y objetos
9 Curso de POO en java - variables, constantes y objetos9 Curso de POO en java - variables, constantes y objetos
9 Curso de POO en java - variables, constantes y objetos
 
11 Curso de POO en java - métodos constructores y toString()
11 Curso de POO en java - métodos constructores y toString()11 Curso de POO en java - métodos constructores y toString()
11 Curso de POO en java - métodos constructores y toString()
 
ProgramacióN Orientada A Objetos
ProgramacióN Orientada A ObjetosProgramacióN Orientada A Objetos
ProgramacióN Orientada A Objetos
 
C2 clases en java
C2 clases en javaC2 clases en java
C2 clases en java
 
Charla Objetos Persistentes
Charla Objetos PersistentesCharla Objetos Persistentes
Charla Objetos Persistentes
 
Programación orientada a objetos
Programación orientada a objetosProgramación orientada a objetos
Programación orientada a objetos
 
Leguaje de programacion C#
Leguaje de programacion C#Leguaje de programacion C#
Leguaje de programacion C#
 
Programación ii presentación tema 5
Programación ii presentación tema 5Programación ii presentación tema 5
Programación ii presentación tema 5
 
Poo Java
Poo JavaPoo Java
Poo Java
 
Programación Orientada a Objetos en Java - Parte I 2015
Programación Orientada a Objetos en Java - Parte I 2015Programación Orientada a Objetos en Java - Parte I 2015
Programación Orientada a Objetos en Java - Parte I 2015
 
Matrices en php
Matrices en phpMatrices en php
Matrices en php
 
Unidad 2 clases y objetos
Unidad 2 clases y objetosUnidad 2 clases y objetos
Unidad 2 clases y objetos
 
Conceptos poo progra visual
Conceptos poo progra visualConceptos poo progra visual
Conceptos poo progra visual
 
10 Curso de POO en java - métodos modificadores y analizadores
10 Curso de POO en java - métodos modificadores y analizadores10 Curso de POO en java - métodos modificadores y analizadores
10 Curso de POO en java - métodos modificadores y analizadores
 
programacion orientada a objetos
programacion orientada a objetosprogramacion orientada a objetos
programacion orientada a objetos
 

Similar a Guia poo

Php orientado a_objetos
Php orientado a_objetosPhp orientado a_objetos
Php orientado a_objetos
Jose Ney Quil
 
Guia poo php
Guia poo phpGuia poo php
Guia poo php
lissette_torrealba
 
Clases en Java y todo lo relacionado
Clases en Java y todo lo relacionadoClases en Java y todo lo relacionado
Clases en Java y todo lo relacionado
Juan Carlos Espinoza
 
Lab herencia
Lab herenciaLab herencia
Programacion orientada-a-objetos
Programacion orientada-a-objetosProgramacion orientada-a-objetos
Programacion orientada-a-objetos
Don Augusto
 
Datos Previos
Datos PreviosDatos Previos
Datos Previos
Luiggi Inga Barboza
 
Datos Previos
Datos PreviosDatos Previos
Datos Previos
Luiggi Inga Barboza
 
Datos previos
Datos previosDatos previos
Datos previos
Luiggi Inga Barboza
 
Tarea 5
Tarea 5Tarea 5
Tarea 5
ar qb
 
Intro aplicaciones web con php
Intro aplicaciones web con phpIntro aplicaciones web con php
Intro aplicaciones web con php
Fer Nando
 
Programacion
ProgramacionProgramacion
Programacion
jalfonso9971
 
Framework .NET 3.5 07 Programación orientada a objetos
Framework .NET 3.5 07 Programación orientada a objetosFramework .NET 3.5 07 Programación orientada a objetos
Framework .NET 3.5 07 Programación orientada a objetos
Antonio Palomares Sender
 
53 Php. Clases Y Objetos
53 Php. Clases Y Objetos53 Php. Clases Y Objetos
53 Php. Clases Y Objetos
José M. Padilla
 
Presentacion de clases en c#
Presentacion de clases en c#Presentacion de clases en c#
Presentacion de clases en c#
Sterling Rafael Santana Vargas
 
PHP mode on
PHP mode onPHP mode on
PHP mode on
Teolinda González
 
Presentacion Java
Presentacion JavaPresentacion Java
Presentacion Java
maeusogo
 
Odaliz presentacion
Odaliz presentacionOdaliz presentacion
Elementos caracteristicos de la poo
Elementos caracteristicos de la pooElementos caracteristicos de la poo
Elementos caracteristicos de la poo
Magda Fernandez
 
recurso6 (5).pdf
recurso6 (5).pdfrecurso6 (5).pdf
recurso6 (5).pdf
ClemenRodriguez
 
2) introduccion al lenguaje java
2) introduccion al lenguaje java2) introduccion al lenguaje java
2) introduccion al lenguaje java
Margarita Romero
 

Similar a Guia poo (20)

Php orientado a_objetos
Php orientado a_objetosPhp orientado a_objetos
Php orientado a_objetos
 
Guia poo php
Guia poo phpGuia poo php
Guia poo php
 
Clases en Java y todo lo relacionado
Clases en Java y todo lo relacionadoClases en Java y todo lo relacionado
Clases en Java y todo lo relacionado
 
Lab herencia
Lab herenciaLab herencia
Lab herencia
 
Programacion orientada-a-objetos
Programacion orientada-a-objetosProgramacion orientada-a-objetos
Programacion orientada-a-objetos
 
Datos Previos
Datos PreviosDatos Previos
Datos Previos
 
Datos Previos
Datos PreviosDatos Previos
Datos Previos
 
Datos previos
Datos previosDatos previos
Datos previos
 
Tarea 5
Tarea 5Tarea 5
Tarea 5
 
Intro aplicaciones web con php
Intro aplicaciones web con phpIntro aplicaciones web con php
Intro aplicaciones web con php
 
Programacion
ProgramacionProgramacion
Programacion
 
Framework .NET 3.5 07 Programación orientada a objetos
Framework .NET 3.5 07 Programación orientada a objetosFramework .NET 3.5 07 Programación orientada a objetos
Framework .NET 3.5 07 Programación orientada a objetos
 
53 Php. Clases Y Objetos
53 Php. Clases Y Objetos53 Php. Clases Y Objetos
53 Php. Clases Y Objetos
 
Presentacion de clases en c#
Presentacion de clases en c#Presentacion de clases en c#
Presentacion de clases en c#
 
PHP mode on
PHP mode onPHP mode on
PHP mode on
 
Presentacion Java
Presentacion JavaPresentacion Java
Presentacion Java
 
Odaliz presentacion
Odaliz presentacionOdaliz presentacion
Odaliz presentacion
 
Elementos caracteristicos de la poo
Elementos caracteristicos de la pooElementos caracteristicos de la poo
Elementos caracteristicos de la poo
 
recurso6 (5).pdf
recurso6 (5).pdfrecurso6 (5).pdf
recurso6 (5).pdf
 
2) introduccion al lenguaje java
2) introduccion al lenguaje java2) introduccion al lenguaje java
2) introduccion al lenguaje java
 

Último

computacion global 3.pdf pARA TERCER GRADO
computacion global 3.pdf pARA TERCER GRADOcomputacion global 3.pdf pARA TERCER GRADO
computacion global 3.pdf pARA TERCER GRADO
YaniEscobar2
 
Manual de Soporte y mantenimiento de equipo de cómputos
Manual de Soporte y mantenimiento de equipo de cómputosManual de Soporte y mantenimiento de equipo de cómputos
Manual de Soporte y mantenimiento de equipo de cómputos
cbtechchihuahua
 
Projecte Iniciativa TIC 2024 KAWARU CONSULTING. inCV.pdf
Projecte Iniciativa TIC 2024 KAWARU CONSULTING. inCV.pdfProjecte Iniciativa TIC 2024 KAWARU CONSULTING. inCV.pdf
Projecte Iniciativa TIC 2024 KAWARU CONSULTING. inCV.pdf
Festibity
 
Informació Projecte Iniciativa TIC HPE.pdf
Informació Projecte Iniciativa TIC HPE.pdfInformació Projecte Iniciativa TIC HPE.pdf
Informació Projecte Iniciativa TIC HPE.pdf
Festibity
 
Manual de soporte y mantenimiento de equipo de cómputo
Manual de soporte y mantenimiento de equipo de cómputoManual de soporte y mantenimiento de equipo de cómputo
Manual de soporte y mantenimiento de equipo de cómputo
doctorsoluciones34
 
Catalogo General Electrodomesticos Teka Distribuidor Oficial Amado Salvador V...
Catalogo General Electrodomesticos Teka Distribuidor Oficial Amado Salvador V...Catalogo General Electrodomesticos Teka Distribuidor Oficial Amado Salvador V...
Catalogo General Electrodomesticos Teka Distribuidor Oficial Amado Salvador V...
AMADO SALVADOR
 
Catalogo Cajas Fuertes BTV Amado Salvador Distribuidor Oficial
Catalogo Cajas Fuertes BTV Amado Salvador Distribuidor OficialCatalogo Cajas Fuertes BTV Amado Salvador Distribuidor Oficial
Catalogo Cajas Fuertes BTV Amado Salvador Distribuidor Oficial
AMADO SALVADOR
 
TIC en educacion.rtf.docxlolololololololo
TIC en educacion.rtf.docxlolololololololoTIC en educacion.rtf.docxlolololololololo
TIC en educacion.rtf.docxlolololololololo
KukiiSanchez
 
Catalogo Refrigeracion Miele Distribuidor Oficial Amado Salvador Valencia
Catalogo Refrigeracion Miele Distribuidor Oficial Amado Salvador ValenciaCatalogo Refrigeracion Miele Distribuidor Oficial Amado Salvador Valencia
Catalogo Refrigeracion Miele Distribuidor Oficial Amado Salvador Valencia
AMADO SALVADOR
 
Second Life, informe de actividad del maestro Tapia
Second Life, informe de actividad del maestro TapiaSecond Life, informe de actividad del maestro Tapia
Second Life, informe de actividad del maestro Tapia
al050121024
 
Projecte Iniciativa TIC 2024 HPE. inCV.pdf
Projecte Iniciativa TIC 2024 HPE. inCV.pdfProjecte Iniciativa TIC 2024 HPE. inCV.pdf
Projecte Iniciativa TIC 2024 HPE. inCV.pdf
Festibity
 
Catalogo general tarifas 2024 Vaillant. Amado Salvador Distribuidor Oficial e...
Catalogo general tarifas 2024 Vaillant. Amado Salvador Distribuidor Oficial e...Catalogo general tarifas 2024 Vaillant. Amado Salvador Distribuidor Oficial e...
Catalogo general tarifas 2024 Vaillant. Amado Salvador Distribuidor Oficial e...
AMADO SALVADOR
 
REVISTA TECNOLOGICA PARA EL DESARROLLO HUMANO
REVISTA TECNOLOGICA PARA EL DESARROLLO HUMANOREVISTA TECNOLOGICA PARA EL DESARROLLO HUMANO
REVISTA TECNOLOGICA PARA EL DESARROLLO HUMANO
gisellearanguren1
 
Actividad Conceptos básicos de programación.pdf
Actividad Conceptos básicos de programación.pdfActividad Conceptos básicos de programación.pdf
Actividad Conceptos básicos de programación.pdf
NajwaNimri1
 
Refrigeradores Samsung Modo Test y Forzado
Refrigeradores Samsung Modo Test y ForzadoRefrigeradores Samsung Modo Test y Forzado
Refrigeradores Samsung Modo Test y Forzado
NicandroMartinez2
 
TODO SOBRE LA INFORMÁTICA, HISTORIA, ¿QUE ES?, IMPORTANCIA Y CARACTERISTICAS....
TODO SOBRE LA INFORMÁTICA, HISTORIA, ¿QUE ES?, IMPORTANCIA Y CARACTERISTICAS....TODO SOBRE LA INFORMÁTICA, HISTORIA, ¿QUE ES?, IMPORTANCIA Y CARACTERISTICAS....
TODO SOBRE LA INFORMÁTICA, HISTORIA, ¿QUE ES?, IMPORTANCIA Y CARACTERISTICAS....
bendezuperezjimena
 
Computacion cuántica y sus ventajas y desventajas
Computacion cuántica y sus ventajas y desventajasComputacion cuántica y sus ventajas y desventajas
Computacion cuántica y sus ventajas y desventajas
sofiahuarancabellido
 
edublogs info.docx asdasfasfsawqrdqwfqwfqwfq
edublogs info.docx asdasfasfsawqrdqwfqwfqwfqedublogs info.docx asdasfasfsawqrdqwfqwfqwfq
edublogs info.docx asdasfasfsawqrdqwfqwfqwfq
larapalaciosmonzon28
 
Catalogo Buzones BTV Amado Salvador Distribuidor Oficial Valencia
Catalogo Buzones BTV Amado Salvador Distribuidor Oficial ValenciaCatalogo Buzones BTV Amado Salvador Distribuidor Oficial Valencia
Catalogo Buzones BTV Amado Salvador Distribuidor Oficial Valencia
AMADO SALVADOR
 
HERRAMIENTAS WEB--------------------.pptx
HERRAMIENTAS WEB--------------------.pptxHERRAMIENTAS WEB--------------------.pptx
HERRAMIENTAS WEB--------------------.pptx
maralache30
 

Último (20)

computacion global 3.pdf pARA TERCER GRADO
computacion global 3.pdf pARA TERCER GRADOcomputacion global 3.pdf pARA TERCER GRADO
computacion global 3.pdf pARA TERCER GRADO
 
Manual de Soporte y mantenimiento de equipo de cómputos
Manual de Soporte y mantenimiento de equipo de cómputosManual de Soporte y mantenimiento de equipo de cómputos
Manual de Soporte y mantenimiento de equipo de cómputos
 
Projecte Iniciativa TIC 2024 KAWARU CONSULTING. inCV.pdf
Projecte Iniciativa TIC 2024 KAWARU CONSULTING. inCV.pdfProjecte Iniciativa TIC 2024 KAWARU CONSULTING. inCV.pdf
Projecte Iniciativa TIC 2024 KAWARU CONSULTING. inCV.pdf
 
Informació Projecte Iniciativa TIC HPE.pdf
Informació Projecte Iniciativa TIC HPE.pdfInformació Projecte Iniciativa TIC HPE.pdf
Informació Projecte Iniciativa TIC HPE.pdf
 
Manual de soporte y mantenimiento de equipo de cómputo
Manual de soporte y mantenimiento de equipo de cómputoManual de soporte y mantenimiento de equipo de cómputo
Manual de soporte y mantenimiento de equipo de cómputo
 
Catalogo General Electrodomesticos Teka Distribuidor Oficial Amado Salvador V...
Catalogo General Electrodomesticos Teka Distribuidor Oficial Amado Salvador V...Catalogo General Electrodomesticos Teka Distribuidor Oficial Amado Salvador V...
Catalogo General Electrodomesticos Teka Distribuidor Oficial Amado Salvador V...
 
Catalogo Cajas Fuertes BTV Amado Salvador Distribuidor Oficial
Catalogo Cajas Fuertes BTV Amado Salvador Distribuidor OficialCatalogo Cajas Fuertes BTV Amado Salvador Distribuidor Oficial
Catalogo Cajas Fuertes BTV Amado Salvador Distribuidor Oficial
 
TIC en educacion.rtf.docxlolololololololo
TIC en educacion.rtf.docxlolololololololoTIC en educacion.rtf.docxlolololololololo
TIC en educacion.rtf.docxlolololololololo
 
Catalogo Refrigeracion Miele Distribuidor Oficial Amado Salvador Valencia
Catalogo Refrigeracion Miele Distribuidor Oficial Amado Salvador ValenciaCatalogo Refrigeracion Miele Distribuidor Oficial Amado Salvador Valencia
Catalogo Refrigeracion Miele Distribuidor Oficial Amado Salvador Valencia
 
Second Life, informe de actividad del maestro Tapia
Second Life, informe de actividad del maestro TapiaSecond Life, informe de actividad del maestro Tapia
Second Life, informe de actividad del maestro Tapia
 
Projecte Iniciativa TIC 2024 HPE. inCV.pdf
Projecte Iniciativa TIC 2024 HPE. inCV.pdfProjecte Iniciativa TIC 2024 HPE. inCV.pdf
Projecte Iniciativa TIC 2024 HPE. inCV.pdf
 
Catalogo general tarifas 2024 Vaillant. Amado Salvador Distribuidor Oficial e...
Catalogo general tarifas 2024 Vaillant. Amado Salvador Distribuidor Oficial e...Catalogo general tarifas 2024 Vaillant. Amado Salvador Distribuidor Oficial e...
Catalogo general tarifas 2024 Vaillant. Amado Salvador Distribuidor Oficial e...
 
REVISTA TECNOLOGICA PARA EL DESARROLLO HUMANO
REVISTA TECNOLOGICA PARA EL DESARROLLO HUMANOREVISTA TECNOLOGICA PARA EL DESARROLLO HUMANO
REVISTA TECNOLOGICA PARA EL DESARROLLO HUMANO
 
Actividad Conceptos básicos de programación.pdf
Actividad Conceptos básicos de programación.pdfActividad Conceptos básicos de programación.pdf
Actividad Conceptos básicos de programación.pdf
 
Refrigeradores Samsung Modo Test y Forzado
Refrigeradores Samsung Modo Test y ForzadoRefrigeradores Samsung Modo Test y Forzado
Refrigeradores Samsung Modo Test y Forzado
 
TODO SOBRE LA INFORMÁTICA, HISTORIA, ¿QUE ES?, IMPORTANCIA Y CARACTERISTICAS....
TODO SOBRE LA INFORMÁTICA, HISTORIA, ¿QUE ES?, IMPORTANCIA Y CARACTERISTICAS....TODO SOBRE LA INFORMÁTICA, HISTORIA, ¿QUE ES?, IMPORTANCIA Y CARACTERISTICAS....
TODO SOBRE LA INFORMÁTICA, HISTORIA, ¿QUE ES?, IMPORTANCIA Y CARACTERISTICAS....
 
Computacion cuántica y sus ventajas y desventajas
Computacion cuántica y sus ventajas y desventajasComputacion cuántica y sus ventajas y desventajas
Computacion cuántica y sus ventajas y desventajas
 
edublogs info.docx asdasfasfsawqrdqwfqwfqwfq
edublogs info.docx asdasfasfsawqrdqwfqwfqwfqedublogs info.docx asdasfasfsawqrdqwfqwfqwfq
edublogs info.docx asdasfasfsawqrdqwfqwfqwfq
 
Catalogo Buzones BTV Amado Salvador Distribuidor Oficial Valencia
Catalogo Buzones BTV Amado Salvador Distribuidor Oficial ValenciaCatalogo Buzones BTV Amado Salvador Distribuidor Oficial Valencia
Catalogo Buzones BTV Amado Salvador Distribuidor Oficial Valencia
 
HERRAMIENTAS WEB--------------------.pptx
HERRAMIENTAS WEB--------------------.pptxHERRAMIENTAS WEB--------------------.pptx
HERRAMIENTAS WEB--------------------.pptx
 

Guia poo

  • 1. SERGIO BARRANCO ZARCO JULIO CESAR SALAS López iTIC-91
  • 2. Elementos que conforman una clase Podemos declararnos elementos de tipo int, es lo que llamamos variables. Podemos declararnos elementos de la clase CL, en éste caso los llamaremos objetos o instancias de la clase CL. 2. Pueden declararse elementos de ese tipo Una clase es un conjunto de datos y un conjunto de operaciones, que como hemos dicho, deben ir unidas. Datos Operaciones Miembros Atributos Métodos Esto implica que podemos tener muchos objetos de una misma clase, igual que podíamos definir muchas variables de un tipo. Pero una clase no es tan simple como un tipo de datos class [Nombre de la Clase] { [atributos] [métodos] }
  • 3. Atributos Los atributos son las caracterísiticas individuales que diferencian un objeto de otro y determinan su apariencia, e u otras cualidades. Los atributos se guardan en variables denominadas de instancia, y cada objeto particular pu tener valores distintos para estas variables. Las variables de instancia también denominados miembros dato, son declaradas en la clase pero sus valores so y cambiados en el objeto. Además de las variables de instancia hay variables de clase, las cuales se aplican a la clase y a todas sus instan Por ejemplo, el número de ruedas de un automóvil es el mismo cuatro, para todos los automóviles. class Menu { private $enlaces=array(); private $titulos=array();
  • 4. Métodos Los métodos de una clase constituyen la lógica de la clase, es decir, contienen el código que manipula el estado del objeto. Además constituyen el mecanismo utilizado para implementar los mensajes entre objetos.
  • 5. Referencia $this Es utilizado en programación orientada a objetos y se define $this dentro de un objeto como un puntero al objeto en que está contenido. La palabra this está disponible para hacer referencia al objeto en el que se encuentra y puede ser utilizada en cualquier objeto <?php class xero{ var $nick; function escribe($nombre){ echo "Tu anterior nick es:",$this->nick; $this->nick=$nombre; echo "<br>Tu actual nick es:",$this->nick,"<br>"; } } $variable=new xero(); $variable->escribe("Xero"); $variable->escribe("Nixo"); ?>
  • 6. Diferentes formas para el paso de argumentos a un metodo Los parámetros se pasan por valor En PHP generalmente los parámetros se pasan por valor. Cuando se pasa un parámetro por valor a una función, los cambios que se hagan sobre esta variable solo tendrán efecto en el ámbito de la función, por lo que no se actualiza la variable que se pasó a la función. <?php function porValor($param) { $param = "hola"; echo "<BR>" . $param; //imprime "hola" } $var = "no cambia"; porValor($var); echo "<BR>" . $var; //imprime "no cambia" ?> Como se ve en el ejemplo, cuando invocamos la función por valor pasando $parametro1 como parámetro, a pesar de que cambiemos el valor del parámetro dentro de la función, la variable original no se ve afectada por ese cambio.
  • 7. Paso de parámetros por referencia Los parámetros pasados por referencia se comportan en contraposición al paso de parámetros por valor. En este caso, el cambio del valor de un parámetro dentro de una función sí afecta al valor de la variable original. Podemos pasar los parámetros por referencia si, en la declaración de la función, colocamos un "&" antes del parámetro. <?php function porReferencia(&$cadena) { $cadena = 'Si cambia'; } $var = 'Esto es una cadena'; porReferencia ($var); echo $var; // Imprime 'Si cambia' ?>
  • 8. Parámetros por defecto Cuando se le define un valor a un parámetro al momento de declarar una función, este parámetro tomará ese valor por defecto mientras no se envíe otro al momento de invocar la función. Los valores por defecto sirven para que los parámetros contengan un dato predefinido. Se definen asignando un dato al parámetro al declararlo en la función. Para la definición de la función anterior, $parametro1 tiene como valor por defecto "pepe", mientras que $parametro2 tiene 3 como valor por defecto. Para la definición de la función anterior, $parametro1 tiene como valor por defecto "pepe", mientras que $parametro2 tiene 3 como valor por defecto. Si llamamos a la función sin indicar valores a los parámetros, éstos tomarán los valores asignados por defecto: • pordefecto () // $parametro1 vale "pepe" y $parametro2 vale 3 Si llamamos a la función indicando un valor, éste será tenido en cuenta para el primer parámetro. • pordefecto ("hola") // $parametro1 vale "hola" y $parametro2 vale 3 Atención, estamos obligados a declarar todos los parámetros con valores por defecto al final.
  • 9. Devolver desde un método Los valores son devueltos usando la sentencia opcional return. Se puede devolver cualquier tipo, incluidos arrays y objetos. Esto causa que la función finalice su ejecución inmediatamente y pase el control de nuevo a la línea desde la que fue llamada. Véase return para más información. Ejemplo #1 Uso de return <?php function cuadrado($núm) { return $núm * $núm; } echo cuadrado(4); // imprime '16'. ?>
  • 10. Constructor void __construct ([ mixed $args [, $... ]] ) Un constructor por defecto es un constructor sin parámetros que no hace nada. Sin embargo será invocado cada vez que se construya un objeto sin especificar ningún argumento, en cuyo caso el objeto será iniciado con los valores predeterminados por el sistema (los atributos numéricos a ceros, los alfanuméricos a nulos, y las referencias a objetos a null). PHP 5 permite a los desarrolladores declarar métodos constructores para las clases. Aquellas que tengan un método constructor lo invocarán en cada nuevo objeto creado, lo que lo hace idóneo para cualquier inicialización que el objeto pueda necesitar antes de ser usado. <?php function cuadrado($núm) { return $núm * $núm; } echo cuadrado(4); // imprime '16'. ?>
  • 11. Herencia de Objetos La herencia (a la que habitualmente se denomina subclases) proviene del hecho de que la subclase (la nueva clase creada) contiene las atributos y métodos de la clase primaria. La principal ventaja de la herencia es la capacidad para definir atributos y métodos nuevos para la subclase, que luego se aplican a los atributos y métodos heredados. La herencia es un principio de programación bien establecido y PHP hace uso de él en su modelado de objetos. Este principio afectará la manera en que muchas clases y objetos se relacionan unas con otras.
  • 12. Polimorfismo El polimorfismo implica que, teniendo varias clases con métodos con el mismo nombre, otra función podrá definir según el objeto pasado como parámetro qué método de qué clase se utilizará. Nada mejor que un ejemplo para entenderlo: Pongamos que tenemos 2 clases (perro y persona) que implementan la función andar
  • 13. Public Los elementos declarados como Public son accesibles tanto desde fuera como desde dentro de la clase. <?php class Vehiculo { public $marca; function __construct($marca) { $this->marca=$marca; } } $micoche = new Vehiculo("Toyota"); echo $micoche->marca; ?> El atributo marca es público y por lo tanto es visible desde fuera de la clase.
  • 14. Private Los elementos declarados como Private son accesibles sólo desde la misma clase donde fueron definidos. <?php class Vehiculo { private $marca; function __construct($marca) { $this->marca=$marca; } } $micoche = new Vehiculo("Toyota"); echo $micoche->marca; ?> Si ejecutamos el código obtendremos el siguiente error: Fatal error: Cannot access private property Vehiculo::$marca El atributo marca no es visible fuera de la clase en la que se definió.
  • 15. Protected Los elementos declarados como Protected son accesibles desde la misma clase donde fueron definidos y en sus subclases. <?php class Vehiculo { protected $marca; function __construct($marca) { $this->marca=$marca; } } class Coche extends Vehiculo { function __construct($marca) { $this->marca=$marca; } } $micoche = new coche("Toyota"); echo $micoche->marca; ?> Si ejecutamos el código obtendremos el siguiente error Fatal error: Cannot access protected property Coche Producido por la línea que contiene este código: echo $micoche->marca; Este error sucede por utilizar el atributo marca fuera de la clase Vehículo y quedar así fuera de su visibilidad. En cambio el uso de este atributo en la clase Coche y Vehículo es correcto. Los métodos o atributos sin ninguna de las declaraciones (public, private o protected) por defecto serán public.
  • 16. Abstracción de clases PHP 5 introduce clases y métodos abstractos. Las clases definidas como abstract no se pueden instanciar y cualquier clase que contiene al menos un método abstracto debe ser definida como abstract. Los métodos definidos como abstractos simplemente declaran la estructura del método, pero no pueden definir la implementación. Cuando se hereda de una clase abstracta, todos los métodos definidos como abstract en la definición de la clase parent deben ser redefinidos en la clase child; adicionalmente, estos métodos deben ser definidos con la misma visibilidad (o con una menos restrictiva). Por ejemplo, si el método abstracto está definido como protected, la implementación de la función puede ser redefinida como protected o public, pero nunca como private. Por otra parte, las estructuras de los métodos tienen que coincidir; es decir, la implicación de tipos y el número de argumentos requeridos deben ser los mismos. Por ejemplo, si la clase derivada define un parámetro opcional, mientras que el método abstracto no, no habría conflicto con la estructura del método. Esto también aplica a los constructores de PHP 5.4. Antes de PHP 5.4 las estructuras del constructor podían ser diferentes.
  • 17. Interfaces de objetos Las interfaces de objetos permiten crear código con el cual especificamos qué métodos deben ser implementados por una clase, sin tener que definir cómo estos métodos son manipulados. Las interfaces son definidas utilizando la palabra clave interface, de la misma forma que con clases estándar, pero sin métodos que tengan su contenido definido. Todos los métodos declarados en una interfaz deben ser public, ya que ésta es la naturaleza de una interfaz. Interfaces con constantes <?php interface a { const b = 'Interface constant'; } // Imprime: Interface constant echo a::b; // Sin embargo ésto no funcionará ya que no está permitido // sobrescribir constantes class b implements a { const b = 'Class constant'; } ?>