implementación de clases en c#.. motivación persona cadena nombre cadena apellidos entero...

22
Implementación de clases en C#.

Upload: amando-villaverde

Post on 23-Jan-2016

264 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Implementación de clases en C#.. Motivación Persona cadena nombre cadena apellidos entero añoNacimiento entero Edad(entero unAño) cadena ToString()

Implementación de clases en C#.

Page 2: Implementación de clases en C#.. Motivación Persona cadena nombre cadena apellidos entero añoNacimiento entero Edad(entero unAño) cadena ToString()

Motivación

Persona

cadena nombrecadena apellidosentero añoNacimiento

entero Edad(entero unAño)cadena ToString()

Page 3: Implementación de clases en C#.. Motivación Persona cadena nombre cadena apellidos entero añoNacimiento entero Edad(entero unAño) cadena ToString()

Objetivo

Caracterizar la construcción de clases en C#.

Page 4: Implementación de clases en C#.. Motivación Persona cadena nombre cadena apellidos entero añoNacimiento entero Edad(entero unAño) cadena ToString()

I. Estructura de una clase en C#.

II. Definición y uso de constantes.

III. Sobrecarga de métodos.

IV. Manejo de instancias. Constructores.

V. Semántica de Referencia vs Semántica de Valor.

VI. Casos de estudio.

Temática

Page 5: Implementación de clases en C#.. Motivación Persona cadena nombre cadena apellidos entero añoNacimiento entero Edad(entero unAño) cadena ToString()

Clase Persona en C#class Persona {

string nombre;string apellidos; int añoNacimiento;

int Edad(int unAño){

return unAño - añoNacimiento;}

 string ToString(){

return nombre + ” ” + apellidos;}

}

Page 6: Implementación de clases en C#.. Motivación Persona cadena nombre cadena apellidos entero añoNacimiento entero Edad(entero unAño) cadena ToString()

Clase Circunferencia en UML

Circunferencia

double x, ydouble radio

double Area() double Longitud()

Page 7: Implementación de clases en C#.. Motivación Persona cadena nombre cadena apellidos entero añoNacimiento entero Edad(entero unAño) cadena ToString()

Clase Circunferencia en C# (1)class Circunferencia{

double x, y;double radio;

 double Area(){

return 3.14159 * radio * radio;}double Longitud(){

return 2 * 3.14159 * radio;}

}

Page 8: Implementación de clases en C#.. Motivación Persona cadena nombre cadena apellidos entero añoNacimiento entero Edad(entero unAño) cadena ToString()

Clase Circunferencia en C# (2)class Circunferencia{

double x, y;double radio;const double PI = 3.14159;

 double Area(){

return PI * radio * radio;}double Longitud(){

return 2 * PI * radio;}

}

Page 9: Implementación de clases en C#.. Motivación Persona cadena nombre cadena apellidos entero añoNacimiento entero Edad(entero unAño) cadena ToString()

Clase Circunferencia en C# (3)class Circunferencia{

double x, y;double radio;

 double Area(){

return Math.PI * radio * radio;}double Longitud(){

return 2 * Math.PI * radio;}

}

Page 10: Implementación de clases en C#.. Motivación Persona cadena nombre cadena apellidos entero añoNacimiento entero Edad(entero unAño) cadena ToString()

Métodos. Sobrecarga (1)class Persona {

string nombre;string apellidos; int añoNacimiento;

int Edad(int unAño) {...} 

int Edad(){

return System.DateTime.Now.Year – añoNacimiento;

}...

}

Page 11: Implementación de clases en C#.. Motivación Persona cadena nombre cadena apellidos entero añoNacimiento entero Edad(entero unAño) cadena ToString()

Métodos. Sobrecarga (2)

{

...

juan.Edad(2003);

 

...

 

juan.Edad();

}

Page 12: Implementación de clases en C#.. Motivación Persona cadena nombre cadena apellidos entero añoNacimiento entero Edad(entero unAño) cadena ToString()

Manejo de las instancias

{

Persona maría;

maría = new Persona();

/ / Persona maría = new Persona();

maría.nombre = “María“;

maría.apellidos = “González“;

maría.añoNacimiento = 1980;

}

Page 13: Implementación de clases en C#.. Motivación Persona cadena nombre cadena apellidos entero añoNacimiento entero Edad(entero unAño) cadena ToString()

Constructores (1)class Persona {

string nombre;string apellidos; int añoNacimiento;

...

 Persona(string Nomb, string Ap, int AN){

nombre = Nomb;apellidos = Ap;añoNacimiento = AN;

} }

Page 14: Implementación de clases en C#.. Motivación Persona cadena nombre cadena apellidos entero añoNacimiento entero Edad(entero unAño) cadena ToString()

Constructores (2)

Persona maría = new Persona(“María”, “González”, 1980);

Page 15: Implementación de clases en C#.. Motivación Persona cadena nombre cadena apellidos entero añoNacimiento entero Edad(entero unAño) cadena ToString()

Constructores (3)class Persona {

string nombre;string apellidos; int añoNacimiento;... Persona(string nombre,

string apellidos, int añoNacimiento )

{this.nombre = nombre;this.apellidos = apellidos;this.añoNacimiento =

añoNacimiento; }

}

Page 16: Implementación de clases en C#.. Motivación Persona cadena nombre cadena apellidos entero añoNacimiento entero Edad(entero unAño) cadena ToString()

Referencia vs Valor (1)

{Persona juan = new Persona("Juan", "Ferrer", 1980);

 Persona pedro = juan;

 pedro.nombre = “Pedro”;

 Console.WriteLine(pedro.nombre);

 Console.WriteLine(juan.nombre);

}

Page 17: Implementación de clases en C#.. Motivación Persona cadena nombre cadena apellidos entero añoNacimiento entero Edad(entero unAño) cadena ToString()

Referencia vs Valor (2)

{

uint edadJuan = 20;

 

uint edadPedro = 50;

 

edadJuan = edadPedro;

edadJuan++;

}

Page 18: Implementación de clases en C#.. Motivación Persona cadena nombre cadena apellidos entero añoNacimiento entero Edad(entero unAño) cadena ToString()

Referencia vs Valor (3)

{string s1 = “Hola“;

 string s2 = s1;

 s1 += s1 + “Mundo”;

// s1 = s1 + “Mundo”;

Console.WriteLine(s1);Console.WriteLine(s2);

}

Page 19: Implementación de clases en C#.. Motivación Persona cadena nombre cadena apellidos entero añoNacimiento entero Edad(entero unAño) cadena ToString()

Clase Temperatura

Diseñe e implemente una clase Temperatura con responsabilidades para almacenar un valor de temperatura en grados Celsius (C) y obtener su correspondiente en grados Fahrenheit (F) (F = C * 9 / 5 + 32).

Page 20: Implementación de clases en C#.. Motivación Persona cadena nombre cadena apellidos entero añoNacimiento entero Edad(entero unAño) cadena ToString()

Clase Temperatura UML

Temperatura

double celsius

Temperatura(double unaTempCelsius)double Fahrenheit()

Page 21: Implementación de clases en C#.. Motivación Persona cadena nombre cadena apellidos entero añoNacimiento entero Edad(entero unAño) cadena ToString()

Clase Temperatura C#class Temperatura{

double celsius;

Temperatura(double unaTempCelsius){

celsius = unaTempCelsius;}

 double Fahrenheit(){

return celsius * 9 / 5 + 32;}

}

Page 22: Implementación de clases en C#.. Motivación Persona cadena nombre cadena apellidos entero añoNacimiento entero Edad(entero unAño) cadena ToString()

Conclusiones