oop · clase • entonces es importante identificar que es importante o relevante en la creación...

22
OOP Álvaro Rivera González jueves 8 de octubre de 2009

Upload: others

Post on 19-Jan-2021

1 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: OOP · CLASE • Entonces es importante identificar que es importante o relevante en la creación de la clase • En esta clase también definimos las acciones o métodos que son

OOP

Álvaro Rivera González

jueves 8 de octubre de 2009

Page 2: OOP · CLASE • Entonces es importante identificar que es importante o relevante en la creación de la clase • En esta clase también definimos las acciones o métodos que son

PROGRAMACIÓN ORIENTADA A OBJETOS

• Hemos programado objetos y clases, pero no sabemos su definición “oficial”• Una clase es el código que define las características principales de

un tipo de objeto o dato en un programa.• A su vez un objeto es una instancia o creación definida por una

clase, pero presenta características o datos propios.• Entonces Una clase es el molde de un objeto, y el objeto es un

ente concreto

Lenguajes de Programación Álvaro Rivera González

jueves 8 de octubre de 2009

Page 3: OOP · CLASE • Entonces es importante identificar que es importante o relevante en la creación de la clase • En esta clase también definimos las acciones o métodos que son

CLASE• Entonces, una clase es el codigo que define caracteristicas

especificas de un modelo u abstraccion de un objeto o ente de la realidad• Por ejemplo al modelar una persona, nos interesan los datos

relevantes para las operaciones en el programa.• Es decir, el color de ojos es irrelevante si queremos calcular el

sueldo de un trabajador• Pero este dato es relevante para una empresa de publicidad que

necesita este dato para crear spots televisivos.

Lenguajes de Programación Álvaro Rivera González

jueves 8 de octubre de 2009

Page 4: OOP · CLASE • Entonces es importante identificar que es importante o relevante en la creación de la clase • En esta clase también definimos las acciones o métodos que son

CLASE • Entonces es importante identificar que es importante o relevante

en la creación de la clase• En esta clase también definimos las acciones o métodos que son

parte del modelo del objeto.• Ademas debemos definir que atributos son accesibles y cuales

son privados• Ademas definimos propiedades• Veamos como se ve una clase

Lenguajes de Programación Álvaro Rivera González

jueves 8 de octubre de 2009

Page 5: OOP · CLASE • Entonces es importante identificar que es importante o relevante en la creación de la clase • En esta clase también definimos las acciones o métodos que son

class Persona{// Definimos los atributos de la clase private string Nombre; private int Edad; private string RUT; // Definimos los métodos de la clase }

Lenguajes de Programación Álvaro Rivera González

jueves 8 de octubre de 2009

Page 6: OOP · CLASE • Entonces es importante identificar que es importante o relevante en la creación de la clase • En esta clase también definimos las acciones o métodos que son

PALABRAS IMPORTANTES• La palabra class le dice al compilador que estamos definiendo una

clase• Luego debemos darle un nombre que la identifique. El

nombre ,para facilitar la lectura y programación, se recomienda que sea Representativo• Ademas debemos definir los metodos en el• el primer metodo que debemos aprender a definir y entender es

el Constructor

Lenguajes de Programación Álvaro Rivera González

jueves 8 de octubre de 2009

Page 7: OOP · CLASE • Entonces es importante identificar que es importante o relevante en la creación de la clase • En esta clase también definimos las acciones o métodos que son

CONSTRUCTOR • El método constructor nos permite crear un objeto de diferentes

formas, inicializando variables, o creando otros datos relevantes.• Para crear un objeto debemos ocupar la palabra new, de esta

forma definimos un nuevo objeto• Luego de ocupar esta palabra llamamos al constructor y creamos

un nuevo objeto• Como definimos el constructor, primero debemos saber que cada

clase creada y definida en el lenguaje o creada por el programador, cuenta con un constructor en blanco de la forma Nombre_Clase();

Lenguajes de Programación Álvaro Rivera González

jueves 8 de octubre de 2009

Page 8: OOP · CLASE • Entonces es importante identificar que es importante o relevante en la creación de la clase • En esta clase también definimos las acciones o métodos que son

DEFINICIÓNclass Persona{// Definimos los atributos de la clase private string Nombre; private int Edad; private string RUT; // Definimos los métodos de la clase, el constructorpublic Persona(){

//Constructor vacío o por defecto se define asi} }

Lenguajes de Programación Álvaro Rivera González

jueves 8 de octubre de 2009

Page 9: OOP · CLASE • Entonces es importante identificar que es importante o relevante en la creación de la clase • En esta clase también definimos las acciones o métodos que son

class Persona{// Definimos los atributos de la clase private string Nombre; private int Edad; private string RUT; // Constructorpublic Persona(String Nombre, int Edad, String RUT){

Nombre = Nombre;Edad=Edad;RUT=RUT;

} }

Lenguajes de Programación Álvaro Rivera González

jueves 8 de octubre de 2009

Page 10: OOP · CLASE • Entonces es importante identificar que es importante o relevante en la creación de la clase • En esta clase también definimos las acciones o métodos que son

DEFINICIÓN• En el constructor anterior definimos que recibe 3 parámetros, 2

strings y un int• No es necesario que el nombre del parámetro sea igual a la

variable a modificar, basta con tener el tipo bien definido• El orden de los parámetros si es importante cuando llamamos a el

constructor, es decir si tiene el orden (String, int, String) no podemos llamarlo como (int, String,String), a menos que lo re-definamos de esta manera.• Para llamar al constructor definido en Persona lo hacemos como:

Persona p=new Persona(Nr,Ed,Rut);

Lenguajes de Programación Álvaro Rivera González

jueves 8 de octubre de 2009

Page 11: OOP · CLASE • Entonces es importante identificar que es importante o relevante en la creación de la clase • En esta clase también definimos las acciones o métodos que son

EJEMPLO• Veamos un ejemplo de como podemos definir un constructor de

varias maneras

Lenguajes de Programación Álvaro Rivera González

jueves 8 de octubre de 2009

Page 12: OOP · CLASE • Entonces es importante identificar que es importante o relevante en la creación de la clase • En esta clase también definimos las acciones o métodos que son

CUANDO Y DONDE OCUPAMOS LAS VARIABLES

• Hemos visto como definir variables en varias cosas, como clases, un for o un while• Ahora no siempre podemos acceder o utilizar estas variables

dentro de otras partes del código• Entonces debemos saber donde y cuando podemos modificar

una variable• Existen varios tipos, los mas comunes son globales y locales• Entonces dependiendo de que tipo de variable es, podremos

acceder a ella

Lenguajes de Programación Álvaro Rivera González

jueves 8 de octubre de 2009

Page 13: OOP · CLASE • Entonces es importante identificar que es importante o relevante en la creación de la clase • En esta clase también definimos las acciones o métodos que son

EJEMPLOclass Nombre{

private int a=0;private string b=””;

public void metodo(){

int i=0;string j=””;for(int p=0;p<Largo;p++){

Console.WriteLine(“HOLA ”+p);}

}}

Lenguajes de Programación Álvaro Rivera González

jueves 8 de octubre de 2009

Page 14: OOP · CLASE • Entonces es importante identificar que es importante o relevante en la creación de la clase • En esta clase también definimos las acciones o métodos que son

VARIABLES• Las variables definidas en la clase, azul, pueden accederse dentro

de la clase y a través de propiedades de un objeto. Son globales para la clase• Las variables definidas en el método, rojo, solo se pueden ocupar

en el método y terminado este desaparecen. Local al método• La variable del for, turquesa, solo se puede acceder en el for, fuera

de el no existe, local al for.• La palabra public nos dice que la variable, el método o la

propiedad se puede acceder por cualquiera en el programa• La palabra private nos indica que el método o el atributo solo se

puede acceder en el método o subrutina de la clase, y solo se puede acceder a través de una propiedad.

Lenguajes de Programación Álvaro Rivera González

jueves 8 de octubre de 2009

Page 15: OOP · CLASE • Entonces es importante identificar que es importante o relevante en la creación de la clase • En esta clase también definimos las acciones o métodos que son

EJEMPLO• Veamos un Ejemplo de tipos de Variables

Lenguajes de Programación Álvaro Rivera González

jueves 8 de octubre de 2009

Page 16: OOP · CLASE • Entonces es importante identificar que es importante o relevante en la creación de la clase • En esta clase también definimos las acciones o métodos que son

MÉTODOS• Ya definimos los atributos y el método constructor, ahora

aprenderemos a definir métodos en la clase• Un método es una subrutina que nos permite definir

procedimientos realizados por el objeto de dicha clase.• Como definimos esto:

public <tipo_retorno> Nombre(<Parametros>){

return valor ; //si retorna un valor, no va si es void}

Lenguajes de Programación Álvaro Rivera González

jueves 8 de octubre de 2009

Page 17: OOP · CLASE • Entonces es importante identificar que es importante o relevante en la creación de la clase • En esta clase también definimos las acciones o métodos que son

POR EJEMPLO• Para un método de calculadora que devuelve una multiplicación

tenemos los siguiente:public int Multiplicacion(int a, int b){

int retorno=a*b;return retorno;

}

Lenguajes de Programación Álvaro Rivera González

jueves 8 de octubre de 2009

Page 18: OOP · CLASE • Entonces es importante identificar que es importante o relevante en la creación de la clase • En esta clase también definimos las acciones o métodos que son

MÉTODO SIN RETORNO• Para un método que no retorna un valor tenemos lo siguiente:

public void imprimeRandom(){

Random r = new Random();Console.WriteLine(“numero Random ”+ r.Next(0,2000) );

}

La palabra void significa vacío.

Lenguajes de Programación Álvaro Rivera González

jueves 8 de octubre de 2009

Page 19: OOP · CLASE • Entonces es importante identificar que es importante o relevante en la creación de la clase • En esta clase también definimos las acciones o métodos que son

EJEMPLO• Crearemos un método vacío y un método con retorno para

ejemplificar

Lenguajes de Programación Álvaro Rivera González

jueves 8 de octubre de 2009

Page 20: OOP · CLASE • Entonces es importante identificar que es importante o relevante en la creación de la clase • En esta clase también definimos las acciones o métodos que son

PROPIEDAD• Una propiedad nos permite acceder a atributos de propiedad

privada en una clase, la sintaxis es la siguiente

private int numero;public int Numero{

get{ return numero; }set{ numero = value; }

}

Lenguajes de Programación Álvaro Rivera González

jueves 8 de octubre de 2009

Page 21: OOP · CLASE • Entonces es importante identificar que es importante o relevante en la creación de la clase • En esta clase también definimos las acciones o métodos que son

PALABRAS CLAVES• la definicion es parecida a un metodo, pero no definimos los

parentesis y los parametros que recibe. Simplemente definimos el tipo de valor de retorno.•Ocupamos el nombre de la variable en mayuscula para facilitar la

comprension del codigo y el uso de la propiedad• la palabra get nos permite obtener la variable a traves de return• la palabra set nos permite asignar el valor de la variable a traves

de value.

Lenguajes de Programación Álvaro Rivera González

jueves 8 de octubre de 2009

Page 22: OOP · CLASE • Entonces es importante identificar que es importante o relevante en la creación de la clase • En esta clase también definimos las acciones o métodos que son

EJEMPLO• Veamos un ejemplo de propiedades

Lenguajes de Programación Álvaro Rivera González

jueves 8 de octubre de 2009