Clases y Objetos POO - Programación en C#. Net con Visual Studio 2013 (23-25)
En este artículo revisaremos conceptos de programación orientada a objetos, detallaremos el uso de clases como plantilla para la creación de objetos de datos según un modelo predefinido. Implementaremos un ejemplo completo de clases y objetos en el lenguaje de programación cSharp utilizando el IDE Visual Studio 2013.
Pueden ver los videos directamente en youtube:
Visita nuestro canal en youtube donde publicamos cursos de Desarrollo de software y aprende a diseñar sistemas informáticos totalmente gratis:
Programación Orientada a Objetos
Paradigma
Un
paradigma es una forma de afrontar la construcción de código de software.
- No hay paradigmas
mejores ni peores
- Todos tienen sus ventajas e inconvenientes
Hay
distintos paradigmas:
- POO, Estructurado, funcional, Lógico, etc.
Caracteristicas:
- Facilidad de diseño y relación con el
mundo real (UML)
- Reutilización de piezas de código (no
copy/paste)
- Encapsulamiento (ocultar el estado de los objetos)
Elementos de la POO
Los elementos principales son:
Clases: Especificación de un
conjunto de elementos
Objetos: Elemento autónomo y
con una funcionalidad concreta. Instancias concretas de una clase.
También se basa en otros conceptos: herencia,
polimorfismo y encapsulamiento.
Objetos
Elementos con comportamiento y estado. Métodos y
atributos concretos. Las instancias de clase interactúan por medio de mensajes.
Clases
Plantillas para definir elementos (objetos). Pueden
estar directamente relacionadas unas con otras.
Encapsulación
Puede (y
suele) haber distintos niveles de visibilidad:
public: se
puede acceder desde cualquier lugar
private: sólo se
puede acceder desde la propia clase
protected: sólo se
puede acceder desde la propia clase o desde una clase que herede de ella.
***Abrimos lenguaje de programación Csharp utilizando el IDE
Visual Studio 2013 y creamos nuestra clase Perro
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace Formularios
{
public class Perro
{
public string nombre;
public string raza;
public string altura;
public string comer(string carne)
{
return this.nombre + " mide " +
altura + " y comerá
" +
carne;
}
void dormir()
{
}
void ladrar()
{
}
}
}
Formulario:
Instanciación de Objetos
Antes de utilizar un objeto debemos de crearlo.
Tipo identificador=New Tipo();
Luego crearemos las dos instancias
Código del Formulario
using
System;
using
System.Collections.Generic;
using System.ComponentModel;
using
System.Data;
using
System.Drawing;
using
System.Linq;
using
System.Text;
using
System.Threading.Tasks;
using
System.Windows.Forms;
//using Clases;
namespace
Formularios
{
public partial class Form1 : Form
{
public
Form1()
{
InitializeComponent();
}
private void
button1_Click(object sender, EventArgs e)
{
Perro perrito=new Perro();
perrito.nombre = "chizu";
perrito.raza = "Pastor
Alemán";
perrito.altura = "0.70cm";
txtResultado.Text = perrito.comer("Carne");
}
private void
button2_Click(object sender, EventArgs e)
{
Perro perrito = new Perro();
perrito.nombre = "Lasy";
perrito.altura = "0.60cm";
txtResultado.Text = perrito.comer("Pollo");
}
private void
button3_Click(object sender, EventArgs e)
{
Perro perrito = new Perro("Peluchin","Poodle","0.50");
txtResultado.Text = perrito.comer("Pan");
}
}
}
***clase
public
Perro(string nombre, string
altura)
{
this.Nombre = nombre;
this.Raza = raza;
this.Altura = altura;
}
**formulario
private void
button4_Click(object sender, EventArgs e)
{
Perro perrito = new Perro("Kaysser", "0.50");
txtResultado.Text = perrito.comer("Frijoles");
}
Métodos
Definen el comportamiento de los objetos de una clase.
La implementación se suele ocultar al exterior de la clase. Tenemos:
Métodos Habituales
Constructor
Sirve para inicializar un objeto al crearlo, existe sobrecarga (distintos parámetros) (para cualquier método). Coincide con el nombre de la clase y no devuelve nada por definición.
public Perro( string nombre,string raza, string
altura)
{
this.nombre = nombre;
this.raza = raza;
this.altura = altura;
}
Get y
Set
Sirven para obtener
o para modificar los atributos de una clase.
public string Nombre
{
get {
return nombre; }
set { nombre = value; }
}
Destructor
No es tan típico,
no se suele usar (se hace de manera automática).
Declaramos en la clase Perro
//Constructor
public Double
calcularCosto(Double costo, Double
impuesto)
{
Double
preciototal;
preciototal = costo + (costo * impuesto);
return preciototal;
}
public Perro()
{
}
public
Perro( string nombre,string
raza, string altura)
{
this.nombre = nombre;
this.raza = raza;
this.altura = altura;
}
Clases y Objetos POO - Programación en C#. Net con Visual Studio 2013 (23-25)
Saludos Imperio, un abrazo a la distancia.
Clases y Objetos POO - Programación en C#. Net con Visual Studio 2013 (23-25)
Reviewed by Liliana Nataly Arcila Diaz
on
17:22
Rating:
No hay comentarios: