Está en la página 1de 7

UNIVERSIDAD TECNOLÓGICA DE MÉXICO

CARRERA: Ing. en Software y Redes


MATERIA: Programación Orientada a Objetos
CICLO ESCOLAR: 23-1
ENTREGABLE NÚMERO: 1
PROFESORA: Edgar García Candelario
Introducción
La Programación Orientada a Objetos tiene como principios fundamentales: la abstracción,
modularidad, el encapsulamiento, la herencia y el polimorfismo. Estos recursos brindan
importantes ventajas desde el punto de vista de programación tales como:

• Reducción de código redundante, lo que permite un código conciso y sin repeticiones.


• Reutilización y extensión de código a través de las clases.
• La jerarquía y abstracción de los objetos brinda una implementación más detallada,
puntual y coherente.
• La implementación de las clases y objetos proporciona una relación más directa con la
realidad, al implementar funciones y métodos como comportamientos de las entidades.
• Bajo Acoplamiento y alta cohesión: gracias a la modularidad, cada componente o módulo
de un desarrollo tiene independencia de los demás componentes.
• Facilidad en el desarrollo y mantenimiento, debido a la filosofía del paradigma.

Encapsulamiento

El empaquetamiento de las variables de un objeto con la protección de sus métodos se le llama


encapsulamiento.

Herencia

Consiste en crear un objeto a partir de otro existente, ya que el que surge hereda todas las
propiedades del cual nace, a la vez que puede adherir nuevas potencialidades o modificar las que
ya se tenían.

Polimorfismo

Es la capacidad de un objeto de adquirir varias formas. El uso más común de polimorfismo en


programación orientada a objetos se da cuando se utiliza la referencia de una clase padre, para
referirse al objeto de la clase hijo.

Recursividad

Para algunos problemas es conveniente hacer que un método se llame a sí mismo. Dicho
método se conoce como método recursivo; este método se puede llamar en forma directa o
indirecta a través de otro método.
Desarrollo

El análisis y diseño orientado a objetos (OADO) es un método de análisis en ingeniería de software


que modela un sistema como un conjunto de objetos que interactúan entre sí. Este enfoque
representa el dominio absoluto de los conceptos compuestos por verbos y sustantivos,
clasificándolos según sus dependencias funcionales. Todo sistema de información necesita
artefactos o componentes (clases) para realizar tareas, en ingeniería de software es muy
importante hacer un buen “análisis y diseño” para un mejor desarrollo, lo que lleva a que sea una
“extensibilidad” de un sistema de información.

Concepto de una clase. Veremos más adelante que en Java todo debe estar contenido en clases,
por lo que hasta el problema más elemental debe estar contenido así. Para declarar una clase
utilizamos la sintaxis: public class SueldoOperario { }

La declaración de los atributos en una clase es exactamente igual a la declaración de cualquier


variable, es decir, mediante la indicación del tipo y a continuación el nombre del atributo,
pudiéndose declarar varios atributos del mismo tipo mediante una lista de nombres de atributos
separada por comas (exactamente como ya has estudiado al declarar variables).

La declaración de un atributo (variable miembro o variable de objeto) consiste en la declaración de


una variable que únicamente existe en el interior del objeto y, por tanto, su vida comenzará
cuando el objeto comience a existir (el objeto sea creado). Esto significa que cada vez que se cree
un objeto, se crearán tantas variables como atributos contenga ese objeto en su interior, definidas
en la clase, que es la plantilla o "molde" del objeto. Todas esas variables estarán encapsuladas
dentro del objeto y solo tendrán sentido dentro de él.

A continuación, se describe un problema y su solución mediante la codificación de programa:

Crea una clase llamada Cuenta que tendrá los siguientes atributos: titular y cantidad (puede tener
decimales).
El titular será obligatorio y la cantidad es opcional. Crea dos constructores que cumpla lo anterior.
Crea sus métodos get, set y toString.
Tendrá dos métodos especiales:
• Ingresar (double cantidad): se ingresa una cantidad a la cuenta, si la cantidad introducida
es negativa, no se hará nada.
• Retirar (double cantidad): se retira una cantidad a la cuenta, si restando la cantidad actual
a la que nos pasan es negativa, la cantidad de la cuenta pasa a ser 0.
Código extraído de NetBeans:

package cuenta;

/**

* @author

*/

public class Cuenta {

//Atributos

private String Titr;

private double Cant;

//Constructores

public Cuenta(String Titr) {

this(Titr, 0);

public Cuenta(String Titr, double Cant) {

this.Titr = Titr;

if (Cant < 0) {this.Cant = 0;

} else {

this.Cant = Cant;

}
//Metodos

public String getTitular() {

return Titr;

public void setTitular(String Titr) {

this.Titr = Titr;

public double getCantidad() {

return Cant;

public void setCantidad(double Cant) {

this.Cant = Cant;

public void ingresar(double Cant) {

if(Cant > 0) {

this.Cant += Cant;

public void retirar(double Cant) {

if (this.Cant - Cant < 0) {

this.Cant = 0;

} else {

this.Cant -= Cant;

@Override
public String toString() {

return "El titular " + Titr + " tiene " + Cant + " pesos de saldo en la cuenta";

package cuenta;

/**

* @author

*/

public class CuentaApp {public static void main(String[] args) {

Cuenta cuenta_1 = new Cuenta("Gilson A", 300);

Cuenta cuenta_2 = new Cuenta("Mireya V", 600);

Cuenta cuenta_3 = new Cuenta("Nona A", 500);

cuenta_1.ingresar(350);

cuenta_2.ingresar(420);

cuenta_3.ingresar(350);

cuenta_1.retirar(280);

cuenta_2.retirar(135);

cuenta_3.retirar(20);

System.out.println(cuenta_1);

System.out.println(cuenta_2);

System.out.println(cuenta_3);

}
Conclusión

Mediante el uso de lenguajes de programación orientados a objetos es posible crear instancias y


después ser reutilizadas en cualquier parte del código, adicionalmente, se pueden crear objetos a
partir de los ya creados facilitando y acelerando el proceso de programación en gran medida.

Este tipo de lenguajes se han convertido en los más utilizados por su versatilidad y su sencillez,
adicional a que son compatibles con la mayoría de las nuevas plataformas.

Referencias:

- Programación Orientada a Objetos Unidad 1 - 5. 2023. Edgar García Candelario


Recuperado de:
https://uniteconline.blackboard.com/ultra/courses/_345413_1/outline/file/_12839309_1

También podría gustarte