SlideShare una empresa de Scribd logo
1 de 17
SERGIO BARRANCO ZARCO
JULIO CESAR SALAS López
iTIC-91
Elementos Que Conforman Una Clase
La programación orientada a objetos se basa en la programación de clases;
a diferencia de la programación estructurada, que está centrada en las funciones.
Una clase es un molde del que luego se pueden crear múltiples objetos, con similares características.
Un poco más abajo se define una clase Persona y luego se crean dos objetos de dicha clase.
Una clase es una plantilla (molde), que define atributos (lo que conocemos como variables)
y métodos (lo que conocemos como funciones).
La clase define los atributos y métodos comunes a los objetos de ese tipo, pero luego, cada objeto
tendrá sus propios valores y compartirán las mismas funciones.
La sintaxis básica para declarar una clase es:
class [Nombre de la Clase] {
[atributos]
[métodos]
}
Atributos
Los atributos son las características, cualidades, propiedades distintivas de cada clase.
Contienen información sobre el objeto. Determinan la apariencia, estado y demás
particularidades de la clase. Varios objetos de una misma clase tendrán los mismos
atributos pero con valores diferentes. Cuando creamos un objeto de una clase determinada,
los atributos declarados por la clase son localizadas en memoria y pueden ser modificados
mediante los métodos.
Podemos ver normalmente los atributos de la clase se definen inmediatamente después que
declaramos la clase:
class Menu {
private $enlaces=array();
private $titulos=array();
Métodos
Los métodos son como las funciones en los lenguajes estructurados, pero están definidos dentro de una clase y operan
sobre los atributos de dicha clase.
Los métodos también son llamados las responsabilidades de la clase. Para encontrar las responsabilidades de una clase hay
que preguntarse qué puede hacer la clase.
El objetivo de un método es ejecutar las actividades que tiene encomendada la clase a la cual pertenece.
Los atributos de un objeto se modifican mediante llamadas a sus métodos.
public function inicializar($tit,$ubi
)
{
$this->titulo=$tit;
$this->ubicación=$ubi;
}
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 [, $... ]] )
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.
Nota: Constructores parent no son llamados implícitamente si la clase child define un constructor. Para ejecutar
un constructor parent, se requiere invocar a parent::__construct() desde el constructor child. Si el child no define
un constructor, entonces se puede heredar de la clase padre como un método de clase normal (si no fue
declarada como privada).
<?php
function cuadrado($núm)
{
return $núm * $núm;
}
echo cuadrado(4); // imprime '16'.
?>
Herencia de Objetos
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.
Por ejemplo, cuando se extiende una clase, la subclase hereda
todos los métodos públicos y protegidos de la clase padre. A
menos que una clase sobrescriba esos métodos, mantendrán su
funcionalidad original.
Esto es útil para la definición y abstracción de la funcionalidad y
permite la implementación de funcionalidad adicional en objetos
similares sin la necesidad de reimplementar toda la
funcionalidad compartida.
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

Unidad 2 ProgramacióN Orientada A Objetos (Repaso)
Unidad 2 ProgramacióN Orientada A Objetos (Repaso)Unidad 2 ProgramacióN Orientada A Objetos (Repaso)
Unidad 2 ProgramacióN Orientada A Objetos (Repaso)Sergio Sanchez
 
Programación orientada a objetos
Programación orientada a objetosProgramación orientada a objetos
Programación orientada a objetosJoseph Bros
 
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 2015Renny Batista
 
Programación 3: clases derivadas y polimorfismo
Programación 3: clases derivadas y polimorfismoProgramación 3: clases derivadas y polimorfismo
Programación 3: clases derivadas y polimorfismoAngel Vázquez Patiño
 
5.1 estructura de una clase.
5.1 estructura de una clase.5.1 estructura de una clase.
5.1 estructura de una clase.K Manuel TN
 
Poo Java
Poo JavaPoo Java
Poo Javaeccutpl
 
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 objetosClara Patricia Avella Ibañez
 
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
 
Tarea 5
Tarea 5Tarea 5
Tarea 5ar qb
 
Constructor Y Destructor
Constructor Y DestructorConstructor Y Destructor
Constructor Y DestructorTecnologico
 
programacion orientada a objetos
programacion orientada a objetosprogramacion orientada a objetos
programacion orientada a objetosjent46
 
Elementos básicos de la programación orientada a objetos.
Elementos básicos de la programación orientada a objetos.Elementos básicos de la programación orientada a objetos.
Elementos básicos de la programación orientada a objetos.Whaleejaa Wha
 

La actualidad más candente (20)

Elementos De Una Clase
Elementos De Una ClaseElementos De Una Clase
Elementos De Una Clase
 
Leguaje de programacion C#
Leguaje de programacion C#Leguaje de programacion C#
Leguaje de programacion C#
 
Unidad 2 ProgramacióN Orientada A Objetos (Repaso)
Unidad 2 ProgramacióN Orientada A Objetos (Repaso)Unidad 2 ProgramacióN Orientada A Objetos (Repaso)
Unidad 2 ProgramacióN Orientada A Objetos (Repaso)
 
Programación orientada a objetos
Programación orientada a objetosProgramación orientada a objetos
Programación orientada a objetos
 
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
 
Programación 3: clases derivadas y polimorfismo
Programación 3: clases derivadas y polimorfismoProgramación 3: clases derivadas y polimorfismo
Programación 3: clases derivadas y polimorfismo
 
Programacion Orientada a Objetos
Programacion Orientada a ObjetosProgramacion Orientada a Objetos
Programacion Orientada a Objetos
 
5.1 estructura de una clase.
5.1 estructura de una clase.5.1 estructura de una clase.
5.1 estructura de una clase.
 
Poo Java
Poo JavaPoo Java
Poo Java
 
Clase 2 Poo
Clase 2 PooClase 2 Poo
Clase 2 Poo
 
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
 
8.Clases y objetos Java
8.Clases y objetos Java8.Clases y objetos Java
8.Clases y objetos 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.
 
Tarea 5
Tarea 5Tarea 5
Tarea 5
 
Constructor Y Destructor
Constructor Y DestructorConstructor Y Destructor
Constructor Y Destructor
 
Encapsulamiento
EncapsulamientoEncapsulamiento
Encapsulamiento
 
03 java poo_parte_2
03 java poo_parte_203 java poo_parte_2
03 java poo_parte_2
 
programacion orientada a objetos
programacion orientada a objetosprogramacion orientada a objetos
programacion orientada a objetos
 
Elementos básicos de la programación orientada a objetos.
Elementos básicos de la programación orientada a objetos.Elementos básicos de la programación orientada a objetos.
Elementos básicos de la programación orientada a objetos.
 
Qué es la poo
Qué es la pooQué es la poo
Qué es la poo
 

Destacado

Proyectos TIC
Proyectos TICProyectos TIC
Proyectos TICGrisel
 
Características de c sharp
Características de c sharpCaracterísticas de c sharp
Características de c sharpuccvirtual
 
INSERCION DE REGISTROS DESDE VISUAL.NET A UNA BD DE SQL SERVER
INSERCION DE REGISTROS DESDE VISUAL.NET A UNA BD DE SQL SERVERINSERCION DE REGISTROS DESDE VISUAL.NET A UNA BD DE SQL SERVER
INSERCION DE REGISTROS DESDE VISUAL.NET A UNA BD DE SQL SERVERDarwin Durand
 
Visual 2010 sql server 2008
Visual 2010 sql server 2008Visual 2010 sql server 2008
Visual 2010 sql server 2008Alex Vasquez
 
Proyectos de Base de Datos con Visual Studio 2013
Proyectos de Base de Datos con Visual Studio 2013Proyectos de Base de Datos con Visual Studio 2013
Proyectos de Base de Datos con Visual Studio 2013Rodolfo Finochietti
 
CONEXION VISUAL STUDIO.NET - SQL SERVER
CONEXION VISUAL STUDIO.NET - SQL SERVERCONEXION VISUAL STUDIO.NET - SQL SERVER
CONEXION VISUAL STUDIO.NET - SQL SERVERDarwin Durand
 
Manual Visual Basic .NET SQL Server paso a paso
Manual Visual Basic .NET SQL Server paso a pasoManual Visual Basic .NET SQL Server paso a paso
Manual Visual Basic .NET SQL Server paso a pasoatak
 
Sistema para el control de ventas e inventarios
Sistema para el control de ventas e inventariosSistema para el control de ventas e inventarios
Sistema para el control de ventas e inventariosAidil Sanchez
 
SISTEMA DE FACTURACION (Ejemplo desarrollado)
SISTEMA DE FACTURACION (Ejemplo desarrollado)SISTEMA DE FACTURACION (Ejemplo desarrollado)
SISTEMA DE FACTURACION (Ejemplo desarrollado)Darwin Durand
 
Practicas sencillas para C#
Practicas sencillas para C# Practicas sencillas para C#
Practicas sencillas para C# saydo2007
 

Destacado (16)

Proyectos TIC
Proyectos TICProyectos TIC
Proyectos TIC
 
Funciones en VB
Funciones en VBFunciones en VB
Funciones en VB
 
Clase iv
Clase ivClase iv
Clase iv
 
Características de c sharp
Características de c sharpCaracterísticas de c sharp
Características de c sharp
 
Todo sobre C#
Todo sobre C#Todo sobre C#
Todo sobre C#
 
Ejercicios c#
Ejercicios c#Ejercicios c#
Ejercicios c#
 
Arreglos C#
Arreglos C#Arreglos C#
Arreglos C#
 
INSERCION DE REGISTROS DESDE VISUAL.NET A UNA BD DE SQL SERVER
INSERCION DE REGISTROS DESDE VISUAL.NET A UNA BD DE SQL SERVERINSERCION DE REGISTROS DESDE VISUAL.NET A UNA BD DE SQL SERVER
INSERCION DE REGISTROS DESDE VISUAL.NET A UNA BD DE SQL SERVER
 
Visual 2010 sql server 2008
Visual 2010 sql server 2008Visual 2010 sql server 2008
Visual 2010 sql server 2008
 
Ejercicios de arreglo
Ejercicios de arregloEjercicios de arreglo
Ejercicios de arreglo
 
Proyectos de Base de Datos con Visual Studio 2013
Proyectos de Base de Datos con Visual Studio 2013Proyectos de Base de Datos con Visual Studio 2013
Proyectos de Base de Datos con Visual Studio 2013
 
CONEXION VISUAL STUDIO.NET - SQL SERVER
CONEXION VISUAL STUDIO.NET - SQL SERVERCONEXION VISUAL STUDIO.NET - SQL SERVER
CONEXION VISUAL STUDIO.NET - SQL SERVER
 
Manual Visual Basic .NET SQL Server paso a paso
Manual Visual Basic .NET SQL Server paso a pasoManual Visual Basic .NET SQL Server paso a paso
Manual Visual Basic .NET SQL Server paso a paso
 
Sistema para el control de ventas e inventarios
Sistema para el control de ventas e inventariosSistema para el control de ventas e inventarios
Sistema para el control de ventas e inventarios
 
SISTEMA DE FACTURACION (Ejemplo desarrollado)
SISTEMA DE FACTURACION (Ejemplo desarrollado)SISTEMA DE FACTURACION (Ejemplo desarrollado)
SISTEMA DE FACTURACION (Ejemplo desarrollado)
 
Practicas sencillas para C#
Practicas sencillas para C# Practicas sencillas para C#
Practicas sencillas para C#
 

Similar a Guia poo (20)

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
 
Herencia Y Polimorfismo
Herencia Y PolimorfismoHerencia Y Polimorfismo
Herencia Y Polimorfismo
 
Lenguaje de Programación Orientada a Objetos
Lenguaje  de  Programación  Orientada  a Objetos Lenguaje  de  Programación  Orientada  a Objetos
Lenguaje de Programación Orientada a Objetos
 
U8.- Programacion Orientada a objetos II (2).pdf
U8.- Programacion Orientada a objetos II (2).pdfU8.- Programacion Orientada a objetos II (2).pdf
U8.- Programacion Orientada a objetos II (2).pdf
 
Herencia en java
Herencia en javaHerencia en java
Herencia en java
 
Presentacion de clases en c#
Presentacion de clases en c#Presentacion de clases en c#
Presentacion de clases en 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
 
Conceptos basicos POO
Conceptos basicos POOConceptos basicos POO
Conceptos basicos POO
 
Informacion
InformacionInformacion
Informacion
 
53 Php. Clases Y Objetos
53 Php. Clases Y Objetos53 Php. Clases Y Objetos
53 Php. Clases Y Objetos
 
Datos Previos
Datos PreviosDatos Previos
Datos Previos
 
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
 
Lab herencia
Lab herenciaLab herencia
Lab herencia
 
modularidad de programación 2da parte (3) (1).pptx
modularidad de programación 2da parte (3) (1).pptxmodularidad de programación 2da parte (3) (1).pptx
modularidad de programación 2da parte (3) (1).pptx
 
Guía Herencia PO_O
Guía Herencia PO_OGuía Herencia PO_O
Guía Herencia PO_O
 
Php orientado a objetos, Ronald Nina
Php orientado a objetos, Ronald NinaPhp orientado a objetos, Ronald Nina
Php orientado a objetos, Ronald Nina
 
DAW - Desarrollo de clases
DAW - Desarrollo de clasesDAW - Desarrollo de clases
DAW - Desarrollo de clases
 

Último

Mapa-conceptual-del-Origen-del-Universo-3.pptx
Mapa-conceptual-del-Origen-del-Universo-3.pptxMapa-conceptual-del-Origen-del-Universo-3.pptx
Mapa-conceptual-del-Origen-del-Universo-3.pptxMidwarHenryLOZAFLORE
 
El uso de las tic en la vida ,lo importante que son
El uso de las tic en la vida ,lo importante  que sonEl uso de las tic en la vida ,lo importante  que son
El uso de las tic en la vida ,lo importante que son241514984
 
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptxCrear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptxNombre Apellidos
 
GonzalezGonzalez_Karina_M1S3AI6... .pptx
GonzalezGonzalez_Karina_M1S3AI6... .pptxGonzalezGonzalez_Karina_M1S3AI6... .pptx
GonzalezGonzalez_Karina_M1S3AI6... .pptx241523733
 
Red Dorsal Nacional de Fibra Óptica y Redes Regionales del Perú
Red Dorsal Nacional de Fibra Óptica y Redes Regionales del PerúRed Dorsal Nacional de Fibra Óptica y Redes Regionales del Perú
Red Dorsal Nacional de Fibra Óptica y Redes Regionales del PerúCEFERINO DELGADO FLORES
 
AREA TECNOLOGIA E INFORMATICA TRABAJO EN EQUIPO
AREA TECNOLOGIA E INFORMATICA TRABAJO EN EQUIPOAREA TECNOLOGIA E INFORMATICA TRABAJO EN EQUIPO
AREA TECNOLOGIA E INFORMATICA TRABAJO EN EQUIPOnarvaezisabella21
 
Presentación inteligencia artificial en la actualidad
Presentación inteligencia artificial en la actualidadPresentación inteligencia artificial en la actualidad
Presentación inteligencia artificial en la actualidadMiguelAngelVillanuev48
 
El uso de las TIC's en la vida cotidiana.
El uso de las TIC's en la vida cotidiana.El uso de las TIC's en la vida cotidiana.
El uso de las TIC's en la vida cotidiana.241514949
 
LAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptx
LAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptxLAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptx
LAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptxAlexander López
 
El_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptx
El_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptxEl_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptx
El_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptxAlexander López
 
Presentación sobre la Inteligencia Artificial
Presentación sobre la Inteligencia ArtificialPresentación sobre la Inteligencia Artificial
Presentación sobre la Inteligencia Artificialcynserafini89
 
Los Microcontroladores PIC, Aplicaciones
Los Microcontroladores PIC, AplicacionesLos Microcontroladores PIC, Aplicaciones
Los Microcontroladores PIC, AplicacionesEdomar AR
 
La Electricidad Y La Electrónica Trabajo Tecnología.pdf
La Electricidad Y La Electrónica Trabajo Tecnología.pdfLa Electricidad Y La Electrónica Trabajo Tecnología.pdf
La Electricidad Y La Electrónica Trabajo Tecnología.pdfjeondanny1997
 
tics en la vida cotidiana prepa en linea modulo 1.pptx
tics en la vida cotidiana prepa en linea modulo 1.pptxtics en la vida cotidiana prepa en linea modulo 1.pptx
tics en la vida cotidiana prepa en linea modulo 1.pptxazmysanros90
 
TEMA 2 PROTOCOLO DE EXTRACCION VEHICULAR.ppt
TEMA 2 PROTOCOLO DE EXTRACCION VEHICULAR.pptTEMA 2 PROTOCOLO DE EXTRACCION VEHICULAR.ppt
TEMA 2 PROTOCOLO DE EXTRACCION VEHICULAR.pptJavierHerrera662252
 
Tecnologias Starlink para el mundo tec.pptx
Tecnologias Starlink para el mundo tec.pptxTecnologias Starlink para el mundo tec.pptx
Tecnologias Starlink para el mundo tec.pptxGESTECPERUSAC
 
LUXOMETRO EN SALUD OCUPACIONAL(FINAL).ppt
LUXOMETRO EN SALUD OCUPACIONAL(FINAL).pptLUXOMETRO EN SALUD OCUPACIONAL(FINAL).ppt
LUXOMETRO EN SALUD OCUPACIONAL(FINAL).pptchaverriemily794
 
FloresMorales_Montserrath_M1S3AI6 (1).pptx
FloresMorales_Montserrath_M1S3AI6 (1).pptxFloresMorales_Montserrath_M1S3AI6 (1).pptx
FloresMorales_Montserrath_M1S3AI6 (1).pptx241522327
 
Trabajo de tecnología excel avanzado.pdf
Trabajo de tecnología excel avanzado.pdfTrabajo de tecnología excel avanzado.pdf
Trabajo de tecnología excel avanzado.pdfedepmariaperez
 
Actividad integradora 6 CREAR UN RECURSO MULTIMEDIA
Actividad integradora 6    CREAR UN RECURSO MULTIMEDIAActividad integradora 6    CREAR UN RECURSO MULTIMEDIA
Actividad integradora 6 CREAR UN RECURSO MULTIMEDIA241531640
 

Último (20)

Mapa-conceptual-del-Origen-del-Universo-3.pptx
Mapa-conceptual-del-Origen-del-Universo-3.pptxMapa-conceptual-del-Origen-del-Universo-3.pptx
Mapa-conceptual-del-Origen-del-Universo-3.pptx
 
El uso de las tic en la vida ,lo importante que son
El uso de las tic en la vida ,lo importante  que sonEl uso de las tic en la vida ,lo importante  que son
El uso de las tic en la vida ,lo importante que son
 
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptxCrear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
 
GonzalezGonzalez_Karina_M1S3AI6... .pptx
GonzalezGonzalez_Karina_M1S3AI6... .pptxGonzalezGonzalez_Karina_M1S3AI6... .pptx
GonzalezGonzalez_Karina_M1S3AI6... .pptx
 
Red Dorsal Nacional de Fibra Óptica y Redes Regionales del Perú
Red Dorsal Nacional de Fibra Óptica y Redes Regionales del PerúRed Dorsal Nacional de Fibra Óptica y Redes Regionales del Perú
Red Dorsal Nacional de Fibra Óptica y Redes Regionales del Perú
 
AREA TECNOLOGIA E INFORMATICA TRABAJO EN EQUIPO
AREA TECNOLOGIA E INFORMATICA TRABAJO EN EQUIPOAREA TECNOLOGIA E INFORMATICA TRABAJO EN EQUIPO
AREA TECNOLOGIA E INFORMATICA TRABAJO EN EQUIPO
 
Presentación inteligencia artificial en la actualidad
Presentación inteligencia artificial en la actualidadPresentación inteligencia artificial en la actualidad
Presentación inteligencia artificial en la actualidad
 
El uso de las TIC's en la vida cotidiana.
El uso de las TIC's en la vida cotidiana.El uso de las TIC's en la vida cotidiana.
El uso de las TIC's en la vida cotidiana.
 
LAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptx
LAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptxLAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptx
LAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptx
 
El_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptx
El_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptxEl_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptx
El_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptx
 
Presentación sobre la Inteligencia Artificial
Presentación sobre la Inteligencia ArtificialPresentación sobre la Inteligencia Artificial
Presentación sobre la Inteligencia Artificial
 
Los Microcontroladores PIC, Aplicaciones
Los Microcontroladores PIC, AplicacionesLos Microcontroladores PIC, Aplicaciones
Los Microcontroladores PIC, Aplicaciones
 
La Electricidad Y La Electrónica Trabajo Tecnología.pdf
La Electricidad Y La Electrónica Trabajo Tecnología.pdfLa Electricidad Y La Electrónica Trabajo Tecnología.pdf
La Electricidad Y La Electrónica Trabajo Tecnología.pdf
 
tics en la vida cotidiana prepa en linea modulo 1.pptx
tics en la vida cotidiana prepa en linea modulo 1.pptxtics en la vida cotidiana prepa en linea modulo 1.pptx
tics en la vida cotidiana prepa en linea modulo 1.pptx
 
TEMA 2 PROTOCOLO DE EXTRACCION VEHICULAR.ppt
TEMA 2 PROTOCOLO DE EXTRACCION VEHICULAR.pptTEMA 2 PROTOCOLO DE EXTRACCION VEHICULAR.ppt
TEMA 2 PROTOCOLO DE EXTRACCION VEHICULAR.ppt
 
Tecnologias Starlink para el mundo tec.pptx
Tecnologias Starlink para el mundo tec.pptxTecnologias Starlink para el mundo tec.pptx
Tecnologias Starlink para el mundo tec.pptx
 
LUXOMETRO EN SALUD OCUPACIONAL(FINAL).ppt
LUXOMETRO EN SALUD OCUPACIONAL(FINAL).pptLUXOMETRO EN SALUD OCUPACIONAL(FINAL).ppt
LUXOMETRO EN SALUD OCUPACIONAL(FINAL).ppt
 
FloresMorales_Montserrath_M1S3AI6 (1).pptx
FloresMorales_Montserrath_M1S3AI6 (1).pptxFloresMorales_Montserrath_M1S3AI6 (1).pptx
FloresMorales_Montserrath_M1S3AI6 (1).pptx
 
Trabajo de tecnología excel avanzado.pdf
Trabajo de tecnología excel avanzado.pdfTrabajo de tecnología excel avanzado.pdf
Trabajo de tecnología excel avanzado.pdf
 
Actividad integradora 6 CREAR UN RECURSO MULTIMEDIA
Actividad integradora 6    CREAR UN RECURSO MULTIMEDIAActividad integradora 6    CREAR UN RECURSO MULTIMEDIA
Actividad integradora 6 CREAR UN RECURSO MULTIMEDIA
 

Guia poo

  • 1. SERGIO BARRANCO ZARCO JULIO CESAR SALAS López iTIC-91
  • 2. Elementos Que Conforman Una Clase La programación orientada a objetos se basa en la programación de clases; a diferencia de la programación estructurada, que está centrada en las funciones. Una clase es un molde del que luego se pueden crear múltiples objetos, con similares características. Un poco más abajo se define una clase Persona y luego se crean dos objetos de dicha clase. Una clase es una plantilla (molde), que define atributos (lo que conocemos como variables) y métodos (lo que conocemos como funciones). La clase define los atributos y métodos comunes a los objetos de ese tipo, pero luego, cada objeto tendrá sus propios valores y compartirán las mismas funciones. La sintaxis básica para declarar una clase es: class [Nombre de la Clase] { [atributos] [métodos] }
  • 3. Atributos Los atributos son las características, cualidades, propiedades distintivas de cada clase. Contienen información sobre el objeto. Determinan la apariencia, estado y demás particularidades de la clase. Varios objetos de una misma clase tendrán los mismos atributos pero con valores diferentes. Cuando creamos un objeto de una clase determinada, los atributos declarados por la clase son localizadas en memoria y pueden ser modificados mediante los métodos. Podemos ver normalmente los atributos de la clase se definen inmediatamente después que declaramos la clase: class Menu { private $enlaces=array(); private $titulos=array();
  • 4. Métodos Los métodos son como las funciones en los lenguajes estructurados, pero están definidos dentro de una clase y operan sobre los atributos de dicha clase. Los métodos también son llamados las responsabilidades de la clase. Para encontrar las responsabilidades de una clase hay que preguntarse qué puede hacer la clase. El objetivo de un método es ejecutar las actividades que tiene encomendada la clase a la cual pertenece. Los atributos de un objeto se modifican mediante llamadas a sus métodos. public function inicializar($tit,$ubi ) { $this->titulo=$tit; $this->ubicación=$ubi; }
  • 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 [, $... ]] ) 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. Nota: Constructores parent no son llamados implícitamente si la clase child define un constructor. Para ejecutar un constructor parent, se requiere invocar a parent::__construct() desde el constructor child. Si el child no define un constructor, entonces se puede heredar de la clase padre como un método de clase normal (si no fue declarada como privada). <?php function cuadrado($núm) { return $núm * $núm; } echo cuadrado(4); // imprime '16'. ?>
  • 11. Herencia de Objetos 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. Por ejemplo, cuando se extiende una clase, la subclase hereda todos los métodos públicos y protegidos de la clase padre. A menos que una clase sobrescriba esos métodos, mantendrán su funcionalidad original. Esto es útil para la definición y abstracción de la funcionalidad y permite la implementación de funcionalidad adicional en objetos similares sin la necesidad de reimplementar toda la funcionalidad compartida.
  • 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'; } ?>