En la Programación Orientada a Objetos existen dos conceptos que son los principales, los cuales siempre que se hable de este paradigma no se pueden evitar, y hablo de las clases y los objetos.
Una clase se es la entidad en la cual definimos el comportamiento y la definición de un objeto.
Un objeto es una instancia de una clase, es la entidad tangible que contiene los valores y realiza las acciones.
Una clase contiene atributos y métodos con los cuales identificamos a nuestro objeto. El objeto al crearse adquiere todas estas características y funcionalidades y puede hacer uso de ellas.
En palabras más simples, una clase es el molde con el cual creamos un objeto en específico. Por ejemplo:
class MiObjeto(){ //código aqui }
Deseamos crear un objeto tipo galleta, sabemos que las galletas tienen una forma, un sabor, un tiempo de horneado, una cantidad de harina, agua y muchas otras cosas. Para crear este objeto necesitaremos de una clase la cual sea el molde de estas galletas que vamos a crear, y para ello recurrimos a crearla con la siguiente sintaxis en c# (cree un proyecto tipo Aplicación de Consola en Visual Studio):
class Galleta { public int cantidadHarina; public int cantidadDeAgua; public int tiempoDeHorneado; public string nombreGalleta; }
La palabra class nos indica que es una clase, y dentro de esta tenemos atributos(los cuales no son todos los de una galleta pero nos sirve para entender de que se trata), los atributos son 3 enteros que indican la cantidad de harina, cantidad de agua, y el tiempo de horneado, y también tenemos un atributo tipo cadena que nos indica el nombre de nuestra galleta (chocochips, animalito, emperador).
Nota: la palabra public y private mas adelante las explicare, por ahora no tienen mucha importancia.
Pero una galleta también tiene acciones, por lo menos en su preparación y para ello necesitamos de métodos, ahora la clase le agrego el método hornear() y quedaría de la siguiente forma:
class Galleta { public int cantidadHarina; public int cantidadDeAgua; public int tiempoDeHorneado; public string nombreGalleta; private int tiempoHorneada; public void Hornear() { for (int i = 0; i < tiempoDeHorneado;i++ ) { tiempoHorneada++; } System.Console.WriteLine("Horneada la galleta"); } }
Agregue un nuevo atributo (tiempoHorneada) para saber cuánto tiempo lleva horneada y cómo podemos ver hay un método el cual es un ciclo for el cual depende de el atributo tiempoDeHorneado.
Ya tenemos nuestra clase ahora veamos cómo se utiliza para crear un objeto y es de la siguiente manera:
//creamos el objeto Galleta miGalleta = new Galleta(); //agregamos sus valores a los atributos miGalleta.nombreGalleta = "chocochips"; miGalleta.tiempoDeHorneado = 100; miGalleta.cantidadDeAgua = 10; miGalleta.cantidadHarina = 10; //horneamos la galleta invocando el metodo hornear() miGalleta.Hornear();
Como pudimos observar la creación de un objeto simplemente se realiza con el nombre de nuestra clase seguido del nombre que deseamos agregar a nuestra instancia (objeto) y seguido de el símbolo = (igual) y la palabra new mas el nombre de nuestro objeto nuevamente seguido de paréntesis. En el siguiente tema (constructores) veremos que significa la palabra new y por qué se pone el nombre de nuestro objeto seguido de paréntesis para la creación de un objeto.
Ir Capítulo Siguiente (3.- Constructor)
Ir Capítulo Anterior (1.- Introducción a La Programación Orientada a Objetos (POO))