0% encontró este documento útil (0 votos)
47 vistas21 páginas

Modularidad y Java en POO

Este documento proporciona una introducción general a los lenguajes de programación. Explica que la programación define sintaxis y reglas para definir programas de computadora. Luego clasifica los lenguajes de programación en tres categorías principales: imperativa, lógica y funcional. También describe conceptos clave como objetos, clases, herencia, polimorfismo y modularidad que son fundamentales para la programación orientada a objetos. Finalmente, presenta detalles sobre el lenguaje Java, incluidas sus ediciones, instalación e implementación básica de

Cargado por

Victor Pozo
Derechos de autor
© All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PPTX, PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
47 vistas21 páginas

Modularidad y Java en POO

Este documento proporciona una introducción general a los lenguajes de programación. Explica que la programación define sintaxis y reglas para definir programas de computadora. Luego clasifica los lenguajes de programación en tres categorías principales: imperativa, lógica y funcional. También describe conceptos clave como objetos, clases, herencia, polimorfismo y modularidad que son fundamentales para la programación orientada a objetos. Finalmente, presenta detalles sobre el lenguaje Java, incluidas sus ediciones, instalación e implementación básica de

Cargado por

Victor Pozo
Derechos de autor
© All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PPTX, PDF, TXT o lee en línea desde Scribd

LENGUAJES DE PROGRAMACIÓN

 Programación es un conjunto de sintaxis y reglas


semánticas que definen los programas del computador.

 Con la idea de facilitarnos las tareas que debemos de


desempeñar los humanos, hemos venido inventado
diversas herramientas a lo largo de nuestra historia, que nos
permiten tener una mejor calidad de vida.
SE CLASIFICAN EN TRES GRANDES
CATEGORÍAS:
MODELOS DE PROGRAMACIÓN
 La programación orientada a objetos (POO) se suele conocer
como un. nuevo paradigma de programación. Otros
paradigmas conocidos son: el paradigma de la programación
imperativa (con lenguaje tales como Pascal o C), el paradigma
de la programación Lógica (PROLOG) y el paradigma de
la programación funcional (Lisp) No existe ningún estilo de
programación idóneo para todas las clases de programación.
La orientación a objetos se acopla a la simulación de
situaciones del mundo real.
Existen tres fases en la elaboración
de un algoritmo
 1) Análisis.- En esta se determina cuál es exactamente el
problema a resolver.

 2) Diseño.- Elaboración del algoritmo.

 3) Prueba.- Comprobación del resultado. Se observa si el


algoritmo obtiene la salida
PROGRAMACION ORIENTADA A OBJETOS

 es un importante conjunto de técnicas que pueden utilizarse


para hacer el desarrollo de programas más eficientes, a la par
que mejora la fiabilidad de los programas. de computadora.
PROGRAMACIÓN ORIENTADA A OBJETOS (POO)
 Grady Booch, autor del método de diseño orientado a
objetos, define la programación orientada a objetos (POO) como:

 Existen tres importantes partes en la definición: la


programación orientada a objetos:

 1) utiliza objetos, no algorítmicos, como bloques de


construcción lógicos (lerarquía de objetos),

 2) cada objeto es una instancia de una clase, y

 3) las clases se relacionan unas con otras por medio de


relaciones de herencia.
Evolución de los lenguajes de
Programación Orientado a Objetos
 Los más importante a la hora de analizar algún diagrama
que muestre esta evolución es que distingamos entre los
llamados lenguajes puros, como Java, Eiffel, que representan
la tendencia actual (lenguajes totalmente orientados a
objetos que evitan, que eliminan las cosas molestas como la
herencia múltiple) y los lenguajes híbridos como C++, Object
Pascal, etc.
CLASIFICACIÓN DE LENGUAJES
ORIENTADOS A OBJETOS
 Existen varias clasificaciones de lenguajes de programación
orientados a objetos, atendiendo a criterios de construcción o
características específicas de los mismos.
 La clasificación de Wegner divide los lenguajes en tres categorías:

 1) Basados en objetos. Un lenguaje de programación es basado en


objetos si su sintaxis y semántica soportan la creación de objetos.

 2) Basados en clases. Si un lenguaje de programación es basado en


objeto y soporta además la creación de clases, se considera basados
en clases.

 3) Orientados a objetos. Un lenguaje de programación orientado a


objetos es un lenguaje basado en clases que soporta también
herencia.
MODULARIDAD
 Es la propiedad que permite subdividir una aplicación en partes
más pequeñas (llamadas módulos), cada una las cuales debe ser
tan independiente como sea posible de la aplicación en sí y de
las restantes partes.

La modularidad consiste en dividir un programa en módulos que


se puedan compilar por separado, pero que tienen conexiones
con otros módulos.
POLIMORFISMO
El Polimorfismo es la propiedad que indica, literalmente, la
posibilidad de que una entidad tome muchas formas
Clase
 Una clase es la descripción de un conjunto de objetos;
consta de métodos y datos que resumen
características comunes de un conjunto de
objetos
MENSAJES
 Un mensaje es una petición de un objeto a otro objeto
al que le solicita ejecutar uno de sus métodos.
LENGUAJE JAVA
 Java es un lenguaje de programación 100% Orientado a Objetos,
cuyas aplicaciones se pueden ejecutar en cualquier plataforma, es
decir, sobre cualquier sistema operativo como Windows, Solaris,
Linux, etc.

 Java ha sido creado por la empresa Sun MicroSystems


EDICIONES DE JAVA
 J2SE o simplemente Java SE: Java 2 Standard Edition o Java
Standard Edition.
INSTALACIÓN DE JAVA E IDE
 Antes de comenzar a programar en Java es necesario contar con una PC
que tenga instalados los siguientes programas página

 [Link]

 Después de descargar el JDK debe seguir los siguientes pasos para realizar
la instalación:

 1. Ejecutar el archivo en Este caso es la Versión 7.3 para Windows.


Inicio de un nuevo proyecto y
agregar una nueva clase
 Creando un nuevo proyecto.-El procedimiento para iniciar un nuevo
proyecto es el

 siguiente:

 Seleccionar desde el menú File →New Project


FUNDAMENTOS Y APLICACIONES EN JAVA
 En él se presenta una serie de programas de aplicación que interactúan,
utilizando como entrada y salida de información.

 Sentencias básicas Identificadores.- Un identificador es un nombre que se le da


a una variable, clase, o método.

 1. Debe iniciar con una letra, el carácter subrayado (_), 0 el signo dólar (SJ

 2. Los siguientes caracteres pueden también contener dígitos.

 3. Los identificadores son case-sensitive, esto quiere decir que hay diferencias
entre mayúsculas y minúsculas.

 4. No se pueden utilizar palabras claves.


TIPO DE DATOS PRIMITIVOS
 Java define 8 tipos de datos primitivos que pueden
 ser considerados en cuatro categorías, tales como se muestra en la siguiente
 figura:
APLICACIONES EN JAVA
 En esta sección presentaremos algunos problemas y las soluciones
correspondientes aplicando las sentencias presentadas en las
secciones anteriores

 1. Dado dos números enteros, hallar la suma.

 Expresión matemática: s = n1+ n2.

 Expresión algorítmica: s *— n1 + n2

 Entrada: Dos números (n1 y n2)

 Salida: La suma (s)

Common questions

Con tecnología de IA

Inheritance in OOP is a mechanism that allows a new class, called a subclass, to inherit attributes and methods from an existing class, referred to as a superclass, establishing a hierarchy and promoting code reuse . Unlike simple class-based systems that merely define object templates without hierarchical relationships, inheritance introduces an ability for new classes to extend existing ones, subsequently reducing redundancy and facilitating polymorphic behavior . This impact on software development includes enhancing maintainability, promoting organized code structure, and enabling developers to build upon existing solutions without modifying them directly, allowing more scalable and efficient program evolution .

Modularity allows software applications to be subdivided into smaller, independent modules that can be compiled separately. This property enables developers to manage complex projects more effectively while ensuring each module remains as independent as possible from the rest of the application and other modules, promoting code reusability and simplifying maintenance . The benefits of modularity include easier debugging, improved collaboration among developers, and the ability to update individual parts of the application without impacting others, leading to more efficient and rapid development cycles .

Encapsulation in object-oriented programming enhances software design by bundling the data (attributes) and the methods (functions) that operate on the data into single units called objects, typically restricting access to the internals of the objects. This concept promotes data hiding, where the internal state of the object is protected from external manipulation and access is controlled through public interfaces . Encapsulation improves modularity and maintainability, allowing developers to modify one part of an application without affecting others, ensuring that objects maintain a consistent state and adhere to the intended interaction patterns .

Polymorphism in object-oriented programming refers to the ability of different objects to respond to the same message or method call in a manner appropriate to their types, allowing entities to take on many forms . It is crucial because it enables generic interfaces, which allows for writing more flexible and reusable code. Polymorphism supports the interface inheritance structure of OOP, where different classes can override shared methods to function differently depending on the object's class, promoting code extension and maintenance without altering existing code significantly .

Object-oriented programming (OOP) is characterized by the use of objects as the logical building blocks, where each object is an instance of a class, and these classes are related through inheritance. This paradigm enhances the development process by improving program reliability and efficiency through techniques such as encapsulation, abstraction, inheritance, and polymorphism . The significance of OOP in the evolution of programming languages lies in offering a more natural simulation of real-world situations, facilitating modularity and code reuse, advancing from procedural programming to a more scalable and manageable structure .

Java is considered platform-independent because its applications can operate on any operating system equipped with a Java Virtual Machine (JVM), which translates Java bytecode into machine-specific code. The platform-independent nature of Java is primarily enabled by compiling Java code only once to the intermediate bytecode, which the JVM interprets into native instructions on any supported platform . This design choice ensures that Java applications do not require recompilation or modification to run across different environments, making Java a versatile and widely adoptable language for diverse computing needs .

Procedural programming encompasses a structured approach where programs are composed of procedures or routines, focusing on sequence and state changes . It can lead to difficulties in managing errors as the program grows, due to entanglement of logic and state across functions, often resulting in bloated code with scattered error checks. In contrast, object-oriented programming encapsulates data and operations within objects, enhancing error management by localizing error checking within methods, promoting modularity, and supporting easy replacement and testing of components . In terms of efficiency, OOP can reduce redundancy and increase code reusability through inheritance and polymorphism, while procedural languages might achieve efficiency in performance for small to medium-sized programs without the overhead of object structures .

According to Wegner’s classification, object-based languages provide syntactic and semantic support for the creation of objects, focusing on encapsulation and interaction through message-passing but lacking the full spectrum of object-oriented features . Class-based languages build upon object-based features by enabling the creation of classes, establishing a uniform structure for code reuse and blueprint definition for object creation . Object-oriented languages extend class-based frameworks by supporting inheritance, allowing hierarchical relationships between classes where subclasses inherit properties and behaviors from parent classes, fully enabling polymorphism and encapsulation .

Identifiers in Java enhance program clarity and prevent errors by requiring adherence to strict naming conventions and rules. They must begin with a letter, underscore, or dollar sign, and subsequent characters can include digits, are case-sensitive, and cannot use Java reserved keywords . These constraints discourage ambiguous or conflicting terms in code, fostering better readability and reducing the chance of errors that arise from typographical mistakes or the unintentional overriding of existing functionalities . Consistent conventions allow developers to understand the code's purpose and structure more clearly, supporting collaborative and scalable programming practices .

Java has contributed to the standardization of object-oriented programming by incorporating a consistent OOP paradigm across multiple platforms, ensuring that applications can run on any operating system that supports Java. As a 100% object-oriented language, Java enforces the use of objects even for primitive operations with the introduction of wrapper classes, and its design supports encapsulation, inheritance, and polymorphism, key tenets of OOP . Furthermore, Java’s class-based architecture, strict syntactic structures, and cross-platform capabilities highlight its commitment to pure object-oriented development environments .

También podría gustarte