Herencia
Del mismo modo, un coche se ensambla a partir de piezas y componentes, como el chasis, las puertas, el motor, las ruedas, el freno y la transmisión. Los componentes son reutilizables, por ejemplo, una rueda puede usarse en muchos coches (de las mismas especificaciones).
¿Y el software? ¿Se puede «ensamblar» una aplicación de software eligiendo una rutina aquí, una rutina allá, y esperar que el programa funcione? La respuesta es obviamente no. A diferencia del hardware, es muy difícil «montar» una aplicación a partir de componentes de software. Desde la llegada del ordenador hace 60 años, hemos escrito toneladas y toneladas de programas. Sin embargo, para cada nueva aplicación, tenemos que volver a inventar las ruedas y escribir el programa desde cero.
El grupo de trabajo propuso que el software se comportara como el hardware OBJECT. Posteriormente, el Departamento de Defensa sustituyó más de 450 lenguajes informáticos, que se utilizaban entonces para construir sistemas del Departamento de Defensa, por un lenguaje orientado a objetos llamado Ada.
Como ejemplo, suponga que desea escribir un juego de fútbol por ordenador (que considero una aplicación compleja). Es bastante difícil modelar el juego en lenguajes orientados a procedimientos. Pero usando lenguajes OOP, puedes fácilmente modelar el programa de acuerdo a las «cosas reales» que aparecen en los juegos de fútbol.
Objeto en oops con ejemplo
Las clases y los structs tienen miembros que representan sus datos y su comportamiento. Los miembros de una clase incluyen todos los miembros declarados en la clase, junto con todos los miembros (excepto los constructores y finalizadores) declarados en todas las clases de su jerarquía de herencia. Los miembros privados de las clases base se heredan pero no son accesibles desde las clases derivadas.
Las propiedades son métodos de una clase a los que se accede como si fueran campos de esa clase. Una propiedad puede proporcionar protección a un campo de la clase para evitar que se modifique sin el conocimiento del objeto.
Los métodos definen las acciones que una clase puede realizar. Los métodos pueden tomar parámetros que proporcionan datos de entrada, y pueden devolver datos de salida a través de parámetros. Los métodos también pueden devolver un valor directamente, sin usar un parámetro.
Los finalizadores se utilizan muy raramente en C#. Son métodos que son llamados por el motor de ejecución cuando el objeto está a punto de ser eliminado de la memoria. Generalmente se utilizan para asegurarse de que cualquier recurso que deba ser liberado sea manejado apropiadamente.
Polimorfismo
En todos los programas que hemos escrito hasta ahora, hemos diseñado nuestro programa en torno a funciones, es decir, bloques de sentencias que manipulan datos. Esto se llama la forma de programar orientada a procedimientos. Hay otra forma de organizar tu programa que consiste en combinar datos y funcionalidad y envolverlos dentro de algo llamado objeto. Esto se llama el paradigma de la programación orientada a objetos. La mayoría de las veces puedes utilizar la programación procedimental, pero cuando escribas programas grandes o tengas un problema que se adapte mejor a este método, puedes utilizar las técnicas de programación orientada a objetos.
Las clases y los objetos son los dos aspectos principales de la programación orientada a objetos. Una clase crea un nuevo tipo donde los objetos son instancias de la clase. Una analogía es que puedes tener variables de tipo int, lo que se traduce en decir que las variables que almacenan enteros son variables que son instancias (objetos) de la clase int.
Los objetos pueden almacenar datos utilizando variables ordinarias que pertenecen al objeto. Las variables que pertenecen a un objeto o clase se denominan campos. Los objetos también pueden tener funcionalidad utilizando funciones que pertenecen a una clase. Estas funciones se denominan métodos de la clase. Esta terminología es importante porque nos ayuda a diferenciar entre las funciones y variables que son independientes y las que pertenecen a una clase u objeto. En conjunto, los campos y métodos pueden denominarse atributos de esa clase.
Clase en el ejemplo de programación
System.out.println(integers.size());Un objeto es siempre instanciado llamando a un método que creó un objeto, es decir, un constructor utilizando la palabra clave new.LoadingLoadingInterfaz de carga…:Interfaz de carga…Inicia sesión para ver el cuestionarioCreación de clasesUna clase especifica cómo son los objetos que se instancian a partir de ella.Ahora nos familiarizaremos con la creación de nuestras propias clases y con la definición de las variables que pertenecen a ellas.Una clase se define para representar alguna entidad significativa, donde una «entidad significativa» suele referirse a un objeto o concepto del mundo real. Si un programa de ordenador tuviera que procesar información personal, quizás tendría sentido definir una clase separada Persona que consistiera en métodos y atributos relacionados con un individuo.Empecemos. Vamos a suponer que tenemos una plantilla de proyecto que tiene un programa principal vacío:public class Main {
Vamos a crear una clase llamada Persona. Para esta clase, creamos un archivo separado llamado Person.java. Nuestro programa consiste ahora en dos archivos separados, ya que el programa principal está también en su propio archivo. El archivo Person.java contiene inicialmente la definición de la clase public class Person y las llaves que limitan el contenido de la clase.public class Person {