La herencia permite definir nuevas clases a partir de clases existentes, compartiendo sus atributos y métodos. Para determinar la herencia correcta entre clases, se debe aplicar el principio de que una subclase es un tipo específico de la superclase. Por ejemplo, un "Furgoneta" es un tipo de "Vehículo", por lo que la clase Furgoneta debe heredar de la clase Vehículo. Esto garantiza un diseño de clases coherente y reutilizable.
This document provides an overview of string manipulation in C++. It discusses C-style strings and introduces C++ strings as objects of the string class. It describes various string constructors, functions for comparison, concatenation, insertion, extraction and other operations. Examples are given to demonstrate the use of functions like length(), capacity(), empty(), at(), find(), assign(), begin() and end(). The document is intended as a lecture on object-oriented string handling in C++.
This document summarizes constructors in Java. Constructors are methods that have the same name as the class and are executed during object creation. Constructors do not have a return type. Constructors are categorized as having no parameters, parameters, or being a default constructor added by the compiler. Constructors without parameters are called with the new keyword, while parameterized constructors pass arguments to the constructor. Default constructors are added by the compiler if no other constructor is defined.
- Go is a programming language created at Google. It is fast, statically typed, and has garbage collection.
- The tutorial covers Go's history, why it was created, library support, and provides examples of variables, functions, flow control, methods, interfaces, and goroutines.
- The document includes an outline, code examples throughout to demonstrate the concepts, and references additional resources for learning Go.
This document provides information on user defined methods in Java. It defines what a method is, which is a sequence of statements grouped together and given a name that can be called to perform a specific task. Methods are used to simplify program complexity, hide details, enable code reuse, and simplify maintenance. The document discusses method declaration, which includes the header and body. The header specifies the return type, method name, and parameters. Methods can be called by passing arguments. The document contrasts call by value versus call by reference and discusses recursive methods and method overloading.
The document discusses Swing, the graphical user interface (GUI) toolkit for Java. It introduces Swing as a replacement for the original Abstract Window Toolkit (AWT) that improved on AWT's weaknesses. Key points covered include:
- Swing was introduced in 1997 as part of the Java Foundation Classes to address AWT's limitations. It uses lightweight components instead of relying on native platform components.
- Swing supports pluggable look-and-feel and is based on the model-view-controller architecture. It includes a variety of common GUI components like tables, trees, sliders.
- Layout managers like FlowLayout, GridLayout, BorderLayout, and BoxLayout are used to position and
The document discusses various PHP functions for manipulating files including:
- readfile() which reads a file and writes it to the output buffer
- fopen() which opens files and gives more options than readfile()
- fread() which reads from an open file
- fclose() which closes an open file
- fgets() which reads a single line from a file
- feof() which checks if the end-of-file has been reached
It also discusses sanitizing user input before passing it to execution functions to prevent malicious commands from being run.
Strings in C# can be manipulated using the System.String class. Strings can be immutable, using the standard string type, or mutable, using the StringBuilder class. Various methods like Compare(), Equals(), and == operator can be used to compare strings. Regular expressions allow searching, matching, and modifying strings using classes like Regex, MatchCollection, and Match.
This document provides an introduction to object oriented programming concepts in Python. It begins with examples of basic Python data types and loops. It then discusses why object oriented programming is useful, describing real world objects in code, reusability, and manageability. The key concepts of object oriented programming are defined, including classes, objects, attributes, and methods. An example taxi class is created to demonstrate these concepts, including defining attributes like driver name and cities, and methods like pick up and drop off passengers. The document discusses how to define a class, create objects from a class, and add methods to classes to define object behavior. It also introduces the concept of class variables that are shared among all objects versus object variables that are unique to
This document provides an overview of string manipulation in C++. It discusses C-style strings and introduces C++ strings as objects of the string class. It describes various string constructors, functions for comparison, concatenation, insertion, extraction and other operations. Examples are given to demonstrate the use of functions like length(), capacity(), empty(), at(), find(), assign(), begin() and end(). The document is intended as a lecture on object-oriented string handling in C++.
This document summarizes constructors in Java. Constructors are methods that have the same name as the class and are executed during object creation. Constructors do not have a return type. Constructors are categorized as having no parameters, parameters, or being a default constructor added by the compiler. Constructors without parameters are called with the new keyword, while parameterized constructors pass arguments to the constructor. Default constructors are added by the compiler if no other constructor is defined.
- Go is a programming language created at Google. It is fast, statically typed, and has garbage collection.
- The tutorial covers Go's history, why it was created, library support, and provides examples of variables, functions, flow control, methods, interfaces, and goroutines.
- The document includes an outline, code examples throughout to demonstrate the concepts, and references additional resources for learning Go.
This document provides information on user defined methods in Java. It defines what a method is, which is a sequence of statements grouped together and given a name that can be called to perform a specific task. Methods are used to simplify program complexity, hide details, enable code reuse, and simplify maintenance. The document discusses method declaration, which includes the header and body. The header specifies the return type, method name, and parameters. Methods can be called by passing arguments. The document contrasts call by value versus call by reference and discusses recursive methods and method overloading.
The document discusses Swing, the graphical user interface (GUI) toolkit for Java. It introduces Swing as a replacement for the original Abstract Window Toolkit (AWT) that improved on AWT's weaknesses. Key points covered include:
- Swing was introduced in 1997 as part of the Java Foundation Classes to address AWT's limitations. It uses lightweight components instead of relying on native platform components.
- Swing supports pluggable look-and-feel and is based on the model-view-controller architecture. It includes a variety of common GUI components like tables, trees, sliders.
- Layout managers like FlowLayout, GridLayout, BorderLayout, and BoxLayout are used to position and
The document discusses various PHP functions for manipulating files including:
- readfile() which reads a file and writes it to the output buffer
- fopen() which opens files and gives more options than readfile()
- fread() which reads from an open file
- fclose() which closes an open file
- fgets() which reads a single line from a file
- feof() which checks if the end-of-file has been reached
It also discusses sanitizing user input before passing it to execution functions to prevent malicious commands from being run.
Strings in C# can be manipulated using the System.String class. Strings can be immutable, using the standard string type, or mutable, using the StringBuilder class. Various methods like Compare(), Equals(), and == operator can be used to compare strings. Regular expressions allow searching, matching, and modifying strings using classes like Regex, MatchCollection, and Match.
This document provides an introduction to object oriented programming concepts in Python. It begins with examples of basic Python data types and loops. It then discusses why object oriented programming is useful, describing real world objects in code, reusability, and manageability. The key concepts of object oriented programming are defined, including classes, objects, attributes, and methods. An example taxi class is created to demonstrate these concepts, including defining attributes like driver name and cities, and methods like pick up and drop off passengers. The document discusses how to define a class, create objects from a class, and add methods to classes to define object behavior. It also introduces the concept of class variables that are shared among all objects versus object variables that are unique to
In Java 8, the java.util.function has numerous built-in interfaces. Other packages in the Java library (notably java.util.stream package) make use of the interfaces defined in this package. Java 8 developers should be familiar with using key interfaces provided in this package. This presentation provides an overview of four key functional interfaces (Consumer, Supplier, Function, and Predicate) provided in this package.
This document discusses polymorphism in Java programs. Polymorphism refers to the ability of an object to take on multiple forms. In Java, polymorphism allows a reference variable to change behavior based on the object it is holding. There are three forms of polymorphism in Java: method overriding, overriding abstract methods of an abstract class, and implementing interface methods. Polymorphism provides benefits like simplicity and extensibility in code.
Inheritance and Polymorphism in Python. Inheritance is a mechanism which allows us to create a new class – known as child class – that is based upon an existing class – the parent class, by adding new attributes and methods on top of the existing class.
What is Python Lambda Function? Python Tutorial | EdurekaEdureka!
YouTube Link: https://youtu.be/RQRCWDK9UkA
** Python Certification Training: https://www.edureka.co/python **
This Edureka PPT on 'Python Lambda' is to educate you about the Lambda functions of Python and help you understand how to use them in various scenarios. Below are the topics covered in this PPT:
What are Python Lambda functions?
Why are they used?
How to write anonymous functions?
Lambda functions within user-defined functions
Using Anonymous functions within
- filter()
- map()
- reduce()
Solving algebric expressions using Lambda
Follow us to never miss an update in the future.
YouTube: https://www.youtube.com/user/edurekaIN
Instagram: https://www.instagram.com/edureka_learning/
Facebook: https://www.facebook.com/edurekaIN/
Twitter: https://twitter.com/edurekain
LinkedIn: https://www.linkedin.com/company/edureka
Castbox: https://castbox.fm/networks/505?country=in
This document provides an overview of exceptions in Python. It discusses that Python uses exceptions to communicate errors and anomalies. The try statement provides Python's exception handling mechanism and can have a try clause followed by except or finally clauses. Built-in exception classes that are subclasses of Exception include AttributeError, EnvironmentError, ImportError, LookupError, NameError, SyntaxError, and others. The document provides an example of using try, except, and finally clauses to handle exceptions occurring when connecting to a database and committing an INSERT statement. It was presented by Shameena V as part of a mentoring program through Baabtra-Mentoring Partner.
JMockit is a Java mocking framework that provides tools for isolating code dependencies during unit testing. It uses bytecode instrumentation to remap classes at runtime, allowing final classes and static methods to be mocked. Expectations define mock object behavior, and verifications ensure mocks are used as expected. JMockit provides a more powerful and flexible mocking approach than alternatives like Mockito through its instrumentation and expectations/verifications APIs.
The document discusses Python programming language. Some key points:
- Python was invented by Guido Van Rossum and is a combination of various programming languages.
- It is a general purpose, high-level programming language that is interpreted, interactive, object-oriented and extensible.
- Python can be used for web applications, desktop applications, data analysis, artificial intelligence, and more. Popular companies that use Python include Google, YouTube, and NASA.
- Python code is portable and can run on various platforms. It has a simple syntax and is easy to learn.
This document discusses the different scopes of variables in PHP - local, global, and static. Local variables can only be accessed within their declared function. Global variables are accessible from any part of a script outside of functions. The global keyword allows access to global variables from within functions. Static variables retain their value between function calls, unlike local variables which are deleted after each call.
The document provides an overview of a hands-on workshop on the Python programming language conducted by Abdul Haseeb for a faculty development program. The workshop covers the basics of Python including its history, design philosophy, why it is popular, how to get started with the Python IDE, basic data types, variables, operators, input/output functions, and differences between Python versions 2 and 3. Examples are provided to demonstrate various Python concepts like strings, integers, floats, lists, tuples, dictionaries, functions to convert between types, and string operations. Comparisons between Python and C/C++ highlight differences in syntax, commenting, error handling and code readability.
This document provides information about PHP (Hypertext Preprocessor), including its history, uses, syntax, variables, data types, operators, conditional statements, arrays, loops, functions, and more. Some key points:
- PHP is a widely-used scripting language for building dynamic web pages and applications. It was created in 1995 and runs on web servers.
- PHP code is embedded into HTML files and interpreted by the server before the page is sent to the browser. It allows for the creation of dynamic content.
- PHP is free, runs on most servers, and provides tools for database connectivity, security, and dynamic web page creation. It has advantages over competitors like ASP.
Object oriented programming with pythonArslan Arshad
A short intro to how Object Oriented Paradigm work in Python Programming language. This presentation created for beginner like bachelor student of Computer Science.
The document discusses the URL class in Java, including its hierarchy, main methods, and examples of using it to retrieve remote files and view HTML pages. The URL class represents a Uniform Resource Locator and allows manipulating URLs. It has methods like openStream() to connect to a URL and retrieve its contents as an input stream. For example, an applet can use a URL object to read files from a web server and display HTML pages by opening an HTTP connection.
Regular expressions (regex) use metacharacters to form patterns for string matching. The basic regex structure includes character classes, quantifiers, and alternation/grouping. In Java, the Pattern class compiles a regex string into a pattern object, and Matcher finds matches in input. Matcher methods like start(), end(), and group() retrieve match details. Regex strings in Java require escaping metacharacters with a backslash to avoid compiler errors.
What is Multithreading In Python | Python Multithreading Tutorial | EdurekaEdureka!
This document discusses multithreading in Python. It defines multitasking as the ability of an operating system to perform different tasks simultaneously. There are two types of multitasking: process-based and thread-based. A thread is a flow of execution within a process. Multithreading in Python can be achieved by importing the threading module. Multithreading is useful when multiple independent tasks need to be performed. The document outlines three ways to create threads in Python: without creating a class, by extending the Thread class, and without extending the Thread class. The advantages of multithreading include enhanced performance, simplified coding, and better CPU utilization.
This ppt gives information about:
1. OOPs Theory
2. Defining a Class
3. Creating an Object
4. The $this Attribute
5. Creating Constructors
6. Creating Destructors
Introduction to go language programming , benchmark with another language programming nodejs , php , ruby & python . how install go . use what IDE . and rapid learnin golang
El documento trata sobre la gestión de memoria en sistemas operativos. Explica que la gestión de memoria asigna espacio en memoria principal a procesos mientras maximiza el uso de recursos. Inicialmente, los sistemas operativos usaban particiones de memoria fijas, pero esto podía fragmentar la memoria. Los sistemas modernos usan técnicas como direccionamiento relativo para cargar procesos dinámicamente en cualquier parte de memoria.
El documento describe los mecanismos de comunicación entre procesos, incluyendo señales e interrupciones de software. Las señales permiten que un proceso notifique a otro sobre eventos y errores. Cuando un proceso recibe una señal, ejecuta una rutina de tratamiento de señales antes de continuar su ejecución. Las señales pueden enviarse entre procesos con el mismo identificador de usuario o por el sistema operativo para notificar errores.
In Java 8, the java.util.function has numerous built-in interfaces. Other packages in the Java library (notably java.util.stream package) make use of the interfaces defined in this package. Java 8 developers should be familiar with using key interfaces provided in this package. This presentation provides an overview of four key functional interfaces (Consumer, Supplier, Function, and Predicate) provided in this package.
This document discusses polymorphism in Java programs. Polymorphism refers to the ability of an object to take on multiple forms. In Java, polymorphism allows a reference variable to change behavior based on the object it is holding. There are three forms of polymorphism in Java: method overriding, overriding abstract methods of an abstract class, and implementing interface methods. Polymorphism provides benefits like simplicity and extensibility in code.
Inheritance and Polymorphism in Python. Inheritance is a mechanism which allows us to create a new class – known as child class – that is based upon an existing class – the parent class, by adding new attributes and methods on top of the existing class.
What is Python Lambda Function? Python Tutorial | EdurekaEdureka!
YouTube Link: https://youtu.be/RQRCWDK9UkA
** Python Certification Training: https://www.edureka.co/python **
This Edureka PPT on 'Python Lambda' is to educate you about the Lambda functions of Python and help you understand how to use them in various scenarios. Below are the topics covered in this PPT:
What are Python Lambda functions?
Why are they used?
How to write anonymous functions?
Lambda functions within user-defined functions
Using Anonymous functions within
- filter()
- map()
- reduce()
Solving algebric expressions using Lambda
Follow us to never miss an update in the future.
YouTube: https://www.youtube.com/user/edurekaIN
Instagram: https://www.instagram.com/edureka_learning/
Facebook: https://www.facebook.com/edurekaIN/
Twitter: https://twitter.com/edurekain
LinkedIn: https://www.linkedin.com/company/edureka
Castbox: https://castbox.fm/networks/505?country=in
This document provides an overview of exceptions in Python. It discusses that Python uses exceptions to communicate errors and anomalies. The try statement provides Python's exception handling mechanism and can have a try clause followed by except or finally clauses. Built-in exception classes that are subclasses of Exception include AttributeError, EnvironmentError, ImportError, LookupError, NameError, SyntaxError, and others. The document provides an example of using try, except, and finally clauses to handle exceptions occurring when connecting to a database and committing an INSERT statement. It was presented by Shameena V as part of a mentoring program through Baabtra-Mentoring Partner.
JMockit is a Java mocking framework that provides tools for isolating code dependencies during unit testing. It uses bytecode instrumentation to remap classes at runtime, allowing final classes and static methods to be mocked. Expectations define mock object behavior, and verifications ensure mocks are used as expected. JMockit provides a more powerful and flexible mocking approach than alternatives like Mockito through its instrumentation and expectations/verifications APIs.
The document discusses Python programming language. Some key points:
- Python was invented by Guido Van Rossum and is a combination of various programming languages.
- It is a general purpose, high-level programming language that is interpreted, interactive, object-oriented and extensible.
- Python can be used for web applications, desktop applications, data analysis, artificial intelligence, and more. Popular companies that use Python include Google, YouTube, and NASA.
- Python code is portable and can run on various platforms. It has a simple syntax and is easy to learn.
This document discusses the different scopes of variables in PHP - local, global, and static. Local variables can only be accessed within their declared function. Global variables are accessible from any part of a script outside of functions. The global keyword allows access to global variables from within functions. Static variables retain their value between function calls, unlike local variables which are deleted after each call.
The document provides an overview of a hands-on workshop on the Python programming language conducted by Abdul Haseeb for a faculty development program. The workshop covers the basics of Python including its history, design philosophy, why it is popular, how to get started with the Python IDE, basic data types, variables, operators, input/output functions, and differences between Python versions 2 and 3. Examples are provided to demonstrate various Python concepts like strings, integers, floats, lists, tuples, dictionaries, functions to convert between types, and string operations. Comparisons between Python and C/C++ highlight differences in syntax, commenting, error handling and code readability.
This document provides information about PHP (Hypertext Preprocessor), including its history, uses, syntax, variables, data types, operators, conditional statements, arrays, loops, functions, and more. Some key points:
- PHP is a widely-used scripting language for building dynamic web pages and applications. It was created in 1995 and runs on web servers.
- PHP code is embedded into HTML files and interpreted by the server before the page is sent to the browser. It allows for the creation of dynamic content.
- PHP is free, runs on most servers, and provides tools for database connectivity, security, and dynamic web page creation. It has advantages over competitors like ASP.
Object oriented programming with pythonArslan Arshad
A short intro to how Object Oriented Paradigm work in Python Programming language. This presentation created for beginner like bachelor student of Computer Science.
The document discusses the URL class in Java, including its hierarchy, main methods, and examples of using it to retrieve remote files and view HTML pages. The URL class represents a Uniform Resource Locator and allows manipulating URLs. It has methods like openStream() to connect to a URL and retrieve its contents as an input stream. For example, an applet can use a URL object to read files from a web server and display HTML pages by opening an HTTP connection.
Regular expressions (regex) use metacharacters to form patterns for string matching. The basic regex structure includes character classes, quantifiers, and alternation/grouping. In Java, the Pattern class compiles a regex string into a pattern object, and Matcher finds matches in input. Matcher methods like start(), end(), and group() retrieve match details. Regex strings in Java require escaping metacharacters with a backslash to avoid compiler errors.
What is Multithreading In Python | Python Multithreading Tutorial | EdurekaEdureka!
This document discusses multithreading in Python. It defines multitasking as the ability of an operating system to perform different tasks simultaneously. There are two types of multitasking: process-based and thread-based. A thread is a flow of execution within a process. Multithreading in Python can be achieved by importing the threading module. Multithreading is useful when multiple independent tasks need to be performed. The document outlines three ways to create threads in Python: without creating a class, by extending the Thread class, and without extending the Thread class. The advantages of multithreading include enhanced performance, simplified coding, and better CPU utilization.
This ppt gives information about:
1. OOPs Theory
2. Defining a Class
3. Creating an Object
4. The $this Attribute
5. Creating Constructors
6. Creating Destructors
Introduction to go language programming , benchmark with another language programming nodejs , php , ruby & python . how install go . use what IDE . and rapid learnin golang
El documento trata sobre la gestión de memoria en sistemas operativos. Explica que la gestión de memoria asigna espacio en memoria principal a procesos mientras maximiza el uso de recursos. Inicialmente, los sistemas operativos usaban particiones de memoria fijas, pero esto podía fragmentar la memoria. Los sistemas modernos usan técnicas como direccionamiento relativo para cargar procesos dinámicamente en cualquier parte de memoria.
El documento describe los mecanismos de comunicación entre procesos, incluyendo señales e interrupciones de software. Las señales permiten que un proceso notifique a otro sobre eventos y errores. Cuando un proceso recibe una señal, ejecuta una rutina de tratamiento de señales antes de continuar su ejecución. Las señales pueden enviarse entre procesos con el mismo identificador de usuario o por el sistema operativo para notificar errores.
Los sistemas operativos han evolucionado para mejorar el rendimiento y proporcionar un ambiente adecuado para los usuarios y programas. Los primeros sistemas por lotes permitieron la ejecución automática de trabajos mediante un sistema operativo residente. Posteriormente, la multiprogramación mejoró el rendimiento al permitir que varios trabajos permanecieran en memoria para incrementar la ocupación de la CPU. Finalmente, los sistemas de tiempo compartido posibilitaron el uso simultáneo de una computadora por varios usuarios de forma interactiva.
La memoria dinámica permite asignar memoria de forma variable durante la ejecución del programa. Se reserva en la zona libre de memoria principal llamada heap. Su principal ventaja es que el tamaño puede variar, solucionando problemas cuando no se conoce el número de datos por adelantado. El programador es responsable de liberar la memoria dinámica cuando ya no se necesite más mediante funciones como free(), malloc(), calloc() y realloc().
El documento describe los conceptos básicos de las bases de datos, incluyendo su definición, estructura, ventajas de usar un sistema gestor de bases de datos (SGBD), y los actores involucrados como el administrador de la base de datos. También cubre los modelos de bases de datos como el modelo entidad-relación y el modelado de objetos, así como las fases del diseño de una base de datos que incluyen el análisis de requisitos y el diseño conceptual.
Las funciones son bloques de construcción básicos en C que dividen un problema en subtareas más simples. Las funciones facilitan el diseño del programa, permiten reutilizar código y ocultar detalles de implementación. Pueden transferir información por valor o por referencia y devolver un valor. Los prototipos especifican el tipo y número de parámetros de una función.
Este documento describe cómo crear y usar macros en Excel para automatizar tareas repetitivas. Explica que las macros permiten fusionar varias acciones en una sola tarea mediante un botón. A continuación, detalla los pasos para grabar una macro, incluyendo seleccionar un nombre, método abreviado y ubicación de almacenamiento, y grabar las acciones deseadas. También cubre cómo establecer los niveles de seguridad para macros y ejemplos prácticos de su uso.
El documento describe los diferentes tipos de software y lenguajes de programación. Explica que el software se divide en software del sistema y de aplicaciones. El software del sistema incluye el sistema operativo y programas de utilidad que controlan la computadora, mientras que los programas de aplicación realizan tareas específicas. También describe los lenguajes de programación de alto y bajo nivel, y los traductores como compiladores e intérpretes que convierten entre estos lenguajes.
Variables, constantes y tipos de datos en CRonny Parra
Inroducción a las varibales, constantes y tipos de datos en C. Contiene las definiciones de cada una de éstas, además de los tipos de datos soportados por C con su rango, la lista de los operadodres lógicos, aritméticos y relacionales, y las secuencias de escape de uso mas común con printf y scanf
Este documento describe funciones recursivas y cómo resolver problemas de forma recursiva. Explica conceptos como caso base, paso recursivo, variables de recursión y dominio de variables. Incluye ejemplos de funciones recursivas como factorial, Fibonacci, conversión de decimal a binario y potenciación. También compara recursividad e iteración y analiza ventajas y desventajas de la recursividad.
Este documento introduce el concepto de memoria dinámica en C y C++. Explica que a veces no es posible conocer la cantidad de variables necesarias por adelantado, por lo que se requiere asignar memoria dinámicamente en tiempo de ejecución usando funciones como malloc(), realloc() y free(). También describe cómo la memoria dinámica se almacena en el montículo o heap, a diferencia de las variables globales y locales que se almacenan en posiciones fijas. Finalmente, da un ejemplo de cómo la asignación din
El documento describe las estructuras en C. Una estructura permite agrupar múltiples variables de diferentes tipos bajo un nombre. Las estructuras se definen usando la palabra clave struct y contienen campos que almacenan los datos. Las estructuras permiten manipular conjuntos de datos relacionados como un solo objeto.
El documento describe las estructuras en C, incluyendo su definición, características y uso. Una estructura agrupa múltiples variables de tipos diferentes bajo un nombre común. Las estructuras se definen usando la palabra clave struct y pueden contener cualquier número de miembros de diferentes tipos de datos. Las estructuras permiten manipular conjuntos relacionados de datos como una sola unidad.
Este documento introduce los punteros en C. Explica que un puntero es una variable que almacena la dirección de memoria de otra variable y puede usarse para acceder y modificar el valor al que apunta. Describe los operadores & y * y cómo se usan para obtener la dirección de memoria de una variable y acceder al valor almacenado en esa dirección, respectivamente. Resalta que los punteros permiten manipular variables de forma indirecta a través de sus direcciones de memoria.
Este documento introduce los punteros en C. Explica que un puntero es una variable que contiene la dirección de memoria de otra variable y puede usarla para acceder y modificar su valor. Describe los operadores & y * y cómo se usan para obtener la dirección de memoria de una variable y acceder al valor apuntado, respectivamente. Advierte que los punteros requieren cuidado en su uso para evitar errores como punteros no inicializados o tipos incompatibles.
Este documento proporciona información sobre un curso de programación en C/C++. Explica conceptos básicos como la estructura de un programa en C, variables, tipos de datos, funciones, y sentencias de control. También cubre temas como arrays, strings, punteros, memoria dinámica, y operadores de bits. El curso parece incluir lecciones sobre la historia de los lenguajes de programación, programación estructurada vs. orientada a objetos, y el uso de librerías estándar.
El documento describe varios tipos de datos fundamentales en lenguajes de programación, incluyendo enteros, coma flotante, caracteres, lógicos y palabras reservadas. Define cada tipo de dato, especificando el espacio de almacenamiento utilizado y las operaciones posibles para cada uno. También explica que los programadores pueden definir nuevos tipos de datos combinando otros tipos existentes.
Este documento resume los 7 hábitos de la gente altamente efectiva de Stephen Covey. El primer hábito es ser proactivo, lo que significa asumir la responsabilidad personal por nuestras acciones en lugar de culpar a factores externos. El segundo hábito es empezar con un fin en mente, lo que significa tener claros objetivos y una visión para guiar nuestras decisiones. El documento también discute los diferentes centros en los que las personas a menudo se enfocan como la familia, el dinero o el trabajo, y cómo esto puede afectar negativamente su
El documento habla sobre datos, variables y constantes. Define datos como cualquier valor que sirva como entrada o salida en un proceso de transformación de información. Explica los tipos de datos simples y compuestos, y cómo se clasifican los datos numéricos, de caracteres y lógicos. También define variables e identificadores para almacenar datos, y constantes para valores que no cambian.
El documento explica el concepto de herencia en programación orientada a objetos. La herencia permite crear nuevas clases que heredan las propiedades y métodos de clases existentes, lo que promueve la reutilización de código. Las clases hijas pueden sobrescribir métodos de las clases padre y acceder a sus propiedades y métodos protegidos y públicos. La herencia se representa mediante una flecha continua en diagramas UML.
El documento describe conceptos básicos de programación orientada a objetos en Java como variables, identificadores, clases, objetos, atributos y métodos. Explica que una variable almacena un valor en memoria y que un identificador la identifica de forma única. Indica que una clase define los atributos y comportamientos de un objeto y que un objeto es una instancia concreta de una clase.
Cursos gratis de programación en Java. Principios de programación orientada a objetos. Orientado a Grado, DAM y DAW. Otros cursos disponibles para Android, Swift, Base de datos, javascript, servicios y procesos...
El documento discute los conceptos fundamentales de la programación orientada a objetos como la encapsulación, abstracción, herencia, polimorfismo y clases abstractas. Propone que la encapsulación oculta los detalles internos de una clase, la abstracción extrae las características y funciones de una entidad, la herencia permite reutilizar código al heredar atributos y métodos de una clase base, y el polimorfismo permite métodos con el mismo nombre pero diferente funcionalidad en subclases. También define las clases abstractas como aquellas
El documento analiza el concepto de herencia en programación orientada a objetos, explicando que define una relación "ser" entre una clase base y una clase derivada, de modo que los objetos derivados heredan los atributos y métodos de la clase base. Se describen las estrategias de generalización y especialización para detectar herencia en un modelo, y cómo se representa y implementa en diagramas de clases UML y lenguajes de programación como Java.
El documento explica los conceptos básicos de la programación orientada a objetos en PHP, incluyendo las clases, atributos, métodos, constructores, herencia, encapsulamiento y destructores. Describe cómo las clases definen los atributos y comportamientos comunes para los objetos y cómo la herencia permite extender y especializar clases existentes.
El documento habla sobre conceptos de programación orientada a objetos en C# como clases, objetos, herencia, polimorfismo y encapsulamiento. También cubre temas como métodos virtuales, clases abstractas, y el uso del operador new para crear objetos.
Este documento trata sobre herencia y polimorfismo en programación orientada a objetos. Explica que la herencia permite que las clases hereden atributos y métodos de otras clases, lo que permite la reutilización de código. También describe tipos de herencia como simple y múltiple, y modificadores de herencia. Finalmente, introduce el concepto de polimorfismo, que permite que los objetos se comporten de manera diferente dependiendo de su tipo en tiempo de ejecución.
Este documento describe conceptos clave de programación orientada a objetos en Java como herencia, polimorfismo, clases abstractas e interfaces. Explica que la herencia permite que una clase herede atributos y métodos de otra clase, y que el polimorfismo permite invocar métodos de objetos de diferentes clases de la misma manera. También describe cómo las clases abstractas pueden contener métodos abstractos que deben implementarse en subclases, mientras que las interfaces definen métodos que deben implementarse.
Este documento resume los conceptos básicos de la programación orientada a objetos (POO). Explica que la POO transforma el mundo real en código mediante la creación de clases y objetos. Las clases contienen atributos y métodos, y los objetos son instancias de clases. También cubre conceptos como herencia, polimorfismo, encapsulamiento y métodos override.
El documento describe los conceptos fundamentales de la programación orientada a objetos, incluyendo sus características, principios y tipos de paradigmas de programación. Explica los conceptos de objetos, métodos, estados de objetos, mensajes, herencia, polimorfismo, abstracción y encapsulamiento. También incluye ejemplos de cómo implementar estas características en clases y subclases.
Unidad 2 ProgramacióN Orientada A Objetos (Repaso)Sergio Sanchez
Este documento explica conceptos básicos de programación orientada a objetos como clases, objetos, encapsulamiento, herencia, interfaces y polimorfismo. Define clases como representaciones abstractas que agrupan atributos y comportamientos comunes, y objetos como instancias concretas de una clase. Explora la implementación de estos conceptos en C# a través de ejemplos.
La herencia en PHP permite que una clase herede los atributos y métodos de otra clase. Para implementar la herencia, una clase hija debe usar la palabra clave "extends" para extender una clase padre. La clase hija hereda y puede sobrescribir los atributos y métodos de la clase padre. El polimorfismo permite que clases diferentes tengan un comportamiento distinto para el mismo método, dependiendo del objeto al que se llama.
El documento describe los ciclos de vida de una clase, incluyendo la inicialización, ejecución y finalización de objetos. También cubre la herencia de clases en Visual Basic, permitiendo que nuevas clases hereden atributos y métodos de clases existentes. La herencia permite la reutilización de código y la creación de jerarquías de clases relacionadas.
1. El documento presenta los conceptos de herencia y polimorfismo en programación orientada a objetos. 2. Los objetivos incluyen implementar estos conceptos en una aplicación usando el lenguaje seleccionado y conocer aspectos como clases abstractas e interfaces. 3. La herencia permite que las clases hereden propiedades de clases padre para definir características más específicas.
1. El documento presenta los conceptos de herencia y polimorfismo en programación orientada a objetos. 2. Los objetivos incluyen implementar estos conceptos en una aplicación usando el lenguaje seleccionado y conocer aspectos como clases abstractas e interfaces. 3. La herencia permite que las clases hereden propiedades de clases padre para definir características más específicas.
El documento presenta los objetivos de aprendizaje de la programación orientada a objetos, incluyendo comprender sus características fundamentales, conceptos como herencia y encapsulamiento, y aplicar estos conceptos en la construcción de soluciones a problemas de programación. Explica conceptos clave como objetos, clases, métodos y propiedades, y cómo estos se usan para modelar el mundo real mediante ejemplos como un coche y una fracción.
El documento explica los conceptos básicos de programación orientada a objetos en Visual Basic .NET, incluyendo las características de herencia, encapsulamiento y polimorfismo. Luego describe cómo crear una clase Persona con propiedades como Nombre, Apellido y otros atributos para representar objetos de persona.
Este documento describe los conceptos fundamentales de la programación orientada a objetos (POO) en Python. Explica que la POO se basa en dos conceptos clave: las clases, que definen los atributos y métodos comunes para un grupo de objetos, y los objetos, que son instancias concretas de una clase. También cubre temas como encapsulamiento, herencia y polimorfismo, que son características clave del paradigma de la POO.
Java es un lenguaje de programación orientado a objetos desarrollado por Sun Microsystems en los años 90 principalmente para dispositivos electrónicos de consumo. Fue diseñado para calculadoras, microondas y televisión interactiva. Implementa conceptos clave como clases, herencia, encapsulamiento y polimorfismo.
Python es un lenguaje de programación potente y fácil de aprender. Es un lenguaje interpretado, de alto nivel y orientado a objetos que se puede utilizar para muchos tipos de desarrollo de software en múltiples plataformas. Python es un proyecto de código abierto mantenido por la comunidad de programadores.
El documento describe diferentes funciones lógicas y de formato condicional en Excel. Explica la función SI y cómo permite evaluar una condición y dar resultados diferentes dependiendo del resultado. También describe cómo anidar funciones SI para crear fórmulas más complejas y cómo usar las funciones Y y O para evaluar múltiples condiciones. Además, explica cómo usar el formato condicional para resaltar celdas que cumplen ciertas reglas y cómo validar datos ingresados en celdas.
This document appears to contain grades and scores for multiple students on various assignments, labs, tests, and projects for a course. It lists each student's name followed by their individual scores on talleres, labs, functions, individual work, practices, and theories. The final column contains each student's final calculated grade out of a possible 20 points. Several students' grades range from the high teens to low 12s, while a few students scored in the single digits or 1 point.
1) Los punteros permiten almacenar direcciones de memoria y apuntar a otras variables u objetos. 2) Los arreglos almacenan conjuntos de datos del mismo tipo de forma ordenada y contigua en memoria, y se pueden indexar mediante un índice. 3) Las cadenas de caracteres (strings) son arreglos unidimensionales de caracteres que terminan en un carácter nulo, y se pueden manipular con funciones de la biblioteca string.h.
Este documento describe conceptos básicos de programación en C y C++. Explica que el software se divide en software del sistema y de aplicaciones. Menciona que el sistema operativo controla las operaciones de la computadora y permite ejecutar programas. También describe lenguajes de programación, compiladores, estructura básica de un programa en C, y tipos de variables.
Este documento describe conceptos básicos de programación en C y C++. Explica que el software se divide en software del sistema y de aplicaciones. Menciona que el sistema operativo controla las operaciones de la computadora y permite ejecutar programas. También describe lenguajes de programación, compiladores, estructura básica de un programa en C, y tipos de variables.
El documento habla sobre punteros en el lenguaje C. Explica que un puntero es una variable que contiene la dirección de memoria de otra variable y permite acceder y modificar su valor. También define los operadores & y * para obtener la dirección de memoria de una variable y acceder al valor apuntado por un puntero, respectivamente. Finalmente, resalta la importancia de entender punteros para dominar el lenguaje C.
El documento presenta información sobre algoritmos y programación. Explica que un algoritmo es una secuencia de pasos para resolver un problema y proporciona ejemplos de algoritmos para tareas cotidianas. También introduce conceptos clave como datos, instrucciones, estructuras de control y herramientas algorítmicas como diagramas de flujo y pseudocódigo.
Este documento presenta una guía para el desarrollo de una práctica de laboratorio sobre el manejo de archivos en C++. El objetivo es desarrollar un programa que permita crear y escribir archivos de texto para poderlos leer con cualquier editor. Se instruye a los estudiantes a formar grupos y desarrollar un programa con un menú que permita crear un archivo, leerlo, añadir datos y salir, donde se van pidiendo nombre y edad de usuarios para guardarlos en el archivo con un formato específico. Se incluyen secciones
El documento presenta el plan de estudios semanal para la asignatura de Programación I. Cubre temas como arreglos, punteros, funciones, estructuras, recursividad, manejo de archivos y memoria dinámica a lo largo de 15 semanas. Incluye 3 evaluaciones parciales y 3 prácticas de laboratorio por unidad didáctica con un total de 96 horas entre teoría y prácticas.
Este documento presenta el sílabo de la asignatura Programación I. La asignatura se impartirá de forma presencial en el departamento de Ciencias de la Computación. Cubrirá temas como técnicas avanzadas de programación modular, recursividad, manejo de estructuras, archivos y memoria dinámica. La asignatura contribuirá al desarrollo de habilidades para analizar, desarrollar y probar aplicaciones basadas en programación avanzada. Se evaluará a los estudiantes a través de proyectos, portafolios, p
Este documento trata sobre archivos de datos en lenguaje C. Explica que el almacenamiento en variables y arreglos es temporal, por lo que se necesitan dispositivos de almacenamiento secundario como archivos para guardar datos de manera permanente. Luego describe cómo crear, leer, escribir y actualizar archivos secuenciales y binarios en C, incluyendo las funciones para apertura, cierre, lectura y escritura de archivos. El objetivo es desarrollar programas para el procesamiento de transacciones de archivos de datos.
El documento define los términos "requerimiento" y "requisito" para el desarrollo de software. Define un requerimiento como una necesidad, solicitud o descripción de una condición o capacidad que debe cumplir un sistema para tener valor para el usuario. Define un requisito como el conjunto de condiciones indispensables para el desarrollo de software que sirven como guía para su desarrollo.
El documento propone implementar un eficiente servicio de alimentos para toda la comunidad de la Escuela Politécnica del Ejército a través de la administración centralizada de bares y restaurantes. Actualmente, el servicio es deficiente, con atención descentralizada y falta de infraestructura adecuada. El proyecto busca ofrecer productos de calidad a precios accesibles, mejorando así la calidad de vida y rendimiento de la comunidad politécnica.
La casa tiene señales de peligro en el baño y advertencias de no tocar objetos como la licuadora o la televisión. El documento también menciona los nombres de miembros de la familia como María, su hija Consuelo, César y su hijo.
Este documento proporciona instrucciones básicas para usar el software MS Project 2010, incluyendo cómo crear proyectos, agregar tareas, establecer relaciones entre tareas, asignar recursos y costos, y monitorear el progreso del proyecto.
ACERTIJO DESCIFRANDO CÓDIGO DEL CANDADO DE LA TORRE EIFFEL EN PARÍS. Por JAVI...JAVIER SOLIS NOYOLA
El Mtro. JAVIER SOLIS NOYOLA crea y desarrolla el “DESCIFRANDO CÓDIGO DEL CANDADO DE LA TORRE EIFFEL EN PARIS”. Esta actividad de aprendizaje propone el reto de descubrir el la secuencia números para abrir un candado, el cual destaca la percepción geométrica y conceptual. La intención de esta actividad de aprendizaje lúdico es, promover los pensamientos lógico (convergente) y creativo (divergente o lateral), mediante modelos mentales de: atención, memoria, imaginación, percepción (Geométrica y conceptual), perspicacia, inferencia y viso-espacialidad. Didácticamente, ésta actividad de aprendizaje es transversal, y que integra áreas del conocimiento: matemático, Lenguaje, artístico y las neurociencias. Acertijo dedicado a los Juegos Olímpicos de París 2024.
Examen de Selectividad. Geografía junio 2024 (Convocatoria Ordinaria). UCLMJuan Martín Martín
Examen de Selectividad de la EvAU de Geografía de junio de 2023 en Castilla La Mancha. UCLM . (Convocatoria ordinaria)
Más información en el Blog de Geografía de Juan Martín Martín
http://blogdegeografiadejuan.blogspot.com/
Este documento presenta un examen de geografía para el Acceso a la universidad (EVAU). Consta de cuatro secciones. La primera sección ofrece tres ejercicios prácticos sobre paisajes, mapas o hábitats. La segunda sección contiene preguntas teóricas sobre unidades de relieve, transporte o demografía. La tercera sección pide definir conceptos geográficos. La cuarta sección implica identificar elementos geográficos en un mapa. El examen evalúa conocimientos fundamentales de geografía.
José Luis Jiménez Rodríguez
Junio 2024.
“La pedagogía es la metodología de la educación. Constituye una problemática de medios y fines, y en esa problemática estudia las situaciones educativas, las selecciona y luego organiza y asegura su explotación situacional”. Louis Not. 1993.
En la ciudad de Pasto, estamos revolucionando el acceso a microcréditos y la formalización de microempresarios informales con nuestra aplicación CrediAvanza. Nuestro objetivo es empoderar a los emprendedores locales proporcionándoles una plataforma integral que facilite el acceso a servicios financieros y asesoría profesional.
Ofrecemos herramientas y metodologías para que las personas con ideas de negocio desarrollen un prototipo que pueda ser probado en un entorno real.
Cada miembro puede crear su perfil de acuerdo a sus intereses, habilidades y así montar sus proyectos de ideas de negocio, para recibir mentorías .
2. Es la característica mas importante y mas potente de la POO por ejemplo en la vida real la
casa del abuelo será heredado por el padre, el mismo que podrá tener sus propios objetos
como un auto, que a la vez dará a sus hijos, después los hijos pueden tener sus propios
objetos personales, que en definitiva son los que mas bienes van a tener a futuro.
MARCO TEORICO
Y todo este principio lo llevamos a la
Programación Orientada a Objetos con el
único objetivo de la reutilización de
código.
3. MARCO TEORICO
En el ejemplo anterior creamos la clase auto y después me permite crear objetos o instancias a la clase auto, esa clase auto tiene una serie de caracteristicas
y un constructor que daba un estado inicial a cada objeto perteneciente a la clase auto.
Despues surge la necesidad de crear otro tipo de objeto llamado Furgoneta que es parecido pero no es igual.
Podriamos utilizar la clase Auto para definir sus características pero tampoco es real una furgoneta va a tener sus propias caractericas que la distinguen de la
clase auto, como por ejemplo capacidad de carga o capacidad de llevar mas pasajeros.
Si pensamos en el ejemplo de la familia, el abuelo no tiene ni el objeto moto ni el objeto bici, es decir retomando este ejemplo un auto no puede tener ni
capacidad de carga ni capacidad de pasajeros extra.
4. MARCO TEORICO
Entonces necesitaríamos crear una clase llamada Furgoneta igual a la clase Auto con las mismas variables ya que vemos que comparten
cierto atributos y de hecho nace la reutilización de código simplemente diciendo que la clase Furgoneta herede los atributos comunes de la
clase Auto y después programar las características propias de la furgoneta.
Creamos en Eclipse la clase Furgoneta
package poo;
public class Furgoneta extends Auto {
}
Con extends deciemos que la clase Furgoneta hereda los atributos y
métodos de la clase Auto, naciendo conceptos como Super Clase o
Sub clase
5. La herencia es un mecanismo que permite la definición de una clase a partir de la definición de otra ya
existente. La herencia permite compartir automáticamente métodos y datos entre clases, subclases y
objetos.
La herencia está fuertemente ligada a la reutilización del código en la OOP. Esto es, el código de cualquiera
de las clases puede ser utilizado sin más que crear una clase derivada de ella, o bien una subclase.
Hay dos tipos de herencia: Herencia Simple y Herencia Múltiple. La primera indica que se pueden definir
nuevas clases solamente a partir de una clase inicial mientras que la segunda indica que se pueden definir
nuevas clases a partir de dos o más clases iniciales. Java sólo permite herencia simple.
MARCO TEORICO
6. SUPER CLASES Y SUBCLASES
El concepto de herencia conduce a una estructura jerárquica de clases o estructura de árbol, lo cual significa
que en la OOP todas las relaciones entre clases deben ajustarse a dicha estructura.
En esta estructura jerárquica, cada clase tiene sólo una clase padre. La clase padre de cualquier clase es
conocida como su superclase. La clase hija de una superclase es llamada una subclase.
* Una superclase puede tener cualquier número de subclases.
* Una subclase puede tener sólo una superclase.
oA es la superclase de B, C y D.
oD es la superclase de E.
oB, C y D son subclases de A.
oE es una subclase de D.
7. MARCO TEORICO
clases
Las clases son las plantillas para hacer objetos. Una clase sirve para definir una serie de objetos con propiedades (atributos),
comportamientos (operaciones o métodos), y semántica comunes. Hay que pensar en una clase como un molde. A través de las
clases se obtienen los objetos en sí.
Es decir antes de poder utilizar un objeto se debe definir la clase a la que pertenece, esa definición incluye:
Sus atributos. Es decir, los datos miembros de esa clase. Los datos pueden ser públicos (accesibles desde otra clase) o
privados (sólo accesibles por código de su propia clase. También se las llama campos.
Sus métodos. Las funciones miembro de la clase. Son las acciones (u operaciones) que puede realizar la clase.
Código de inicialización. Para crear una clase normalmente hace falta realizar operaciones previas (es lo que se conoce como
el constructor de la clase).
Otras clases. Dentro de una clase se pueden definir otras clases (clases internas, son consideradas como asociaciones dentro
de UML).
8. QUE ES UML?
El Lenguaje Unificado de Modelado (UML, Unified Modeling Language) es un lenguaje estándar, basado en una notación
gráfica, que se utiliza para modelar software. Es un lenguaje de propósito general que pretende ser un estándar mundial y
se utiliza para visualizar, especificar, construir y documentar las diferentes “piezas” de un sistema
Para modelar los programas de forma gráfica, viendo las relaciones entre las clases y cómo colaboran unos objetos con otros,
se prefiere utilizar una notación estándar. por varias razones:
Le permite ir familiarizándose con un lenguaje de modelado estándar
Le permite entender modelos con esta notación.
Además, conviene dejar claro que:
• UML es un lenguaje de modelado
• Java es un lenguaje de implementación
9. TIPOS DE DIAGRAMAS
Diagramas de Clases
Los diagramas de clases proporcionan una perspectiva estática del código. Se componen de: clases y relaciones
Diagramas de Objetos
Presentan instantáneas de instancias de los elementos que aparecen en los diagramas de clases. En definitiva, muestran un conjunto de
objetos y sus relaciones en un momento concreto (“fotografía” de un momento determinado).
Diagramas de Interacción
En los diagramas de interacción se puede ver el patrón de comportamiento de un conjunto de mensajes intercambiados entre un
conjunto de objetos, dentro de un contexto para lograr un propósito.
Diagramas de secuencia
Diagramas de colaboración
10. La clase Furgoneta va a tener las características y métodos heredados de la clase Auto mas los
suyos propios, en la vida real un hijo puede heredar de sus padres, tios, amigos, pero en Java no
permite representar esta actitud de la vida real es decir Java no permite la herencia multiple que
de alguna manera quita la potencialidad en el lenguaje lo cual es suplido con la interfaces y otras
técnicas de programación propias de Java.
Ahora programamos las características propias de la Clase Furgoneta
HERENCIA
Public class Furgoneta extends Auto{
Private int capacidad_carga;
Private int plazas_extra;
}
Ahora tenemos que darle un estado inicial a la clase Furgoneta atraves de un constructor
Public class Furgoneta extends Auto{
Private int capacidad_carga;
Private int plazas_extra;
Public Furgoneta (int plazas_extra, int capacidad_carga){
Super();//Llama al constructor de la clase padre con el objetivo de darle
//un estado inicial
this.capacidad_carga=capacidad_carga;
this.plazas_extra=plazas_extra;
}
}
11. HERENCIA
Ahora vamos a crear un método propio de la clase Furgoneta que nos devuelva la información
de la furgoneta como su capacidad de carga y su capacidad de plazas extras
Public Strig DimedatosFurgoneta(){
Return “La capacidad de carga es”+capacidad_carga+”+capacidad_carga+
“las plazas extras es “+plazas_extras
}
Ahora vamos darle funcionamiento al programa modificando la clase principal Uso_Auto pero
también modificamos el nombre de este programa con Uso_Vehiculo
Public class uso_vehiculo{
Public static void main(String[] args){
Auto Miauto1=new auto();
Miauto1.establece_color(“Rojo”);
Furgoneta Mifurgoneta1=new Furgoneta(7,580);
Mifurgoneta1.establece_color(“azul”);
Mifurgoneta1.configura_asientos(“si”);
Mifurgoneta1.configura_aire(“si”);
//ahora vamos a mostrar en consola los datos
System.out.println(Miauto1.dime_datos_generales()+” “+Miauto1.dime_color());
//ahora vamos a ver los datos de la furgoneta
System.out.println(Furgoneta.dime_datos_generales()+Furgoneta.dimeDatosFurgoneta());
}
}
12. COMO DISEÑO LA HERENCIA DE MIS CLASES, SI YO EMPIEZO DESDE EL INICO COMO DETERMINO LA
HERENCIA DE LAS CLASES, CUANDO CREO UNA CLASE DE CUAL TIENE QUE HEREDAR. PARA RESOLVER ESTAS
PREGUNTAS TENGO QUE SEGUIR UNA REGLA Y ESTA ES LA DE APLICAR EL TERMINO ES UN EN UN DISEÑO
DE CLASES.
AUTO
FURGONETA
La clase furgoneta hereda de la clase auto todos sus atributos y
métodos y para verificar si el diseño es correcto debemos comprobar
que la SUBCLASE es una SUPERCLASE
Una furgoneta es un Auto, NO
Entonces el diseño de las clases no esta del todo bien creado pues no
aplica el concepto de ES UN
DISEÑO DE CLASES
13. DISEÑO DE CLASES
VEHICULO
AUTO FURGONETA CAMION MOTO
Primeramente deberíamos haber creado la clase principal VEHICULO , luego programar las características generales
que pueden heredar las otras clases (motor, color, peso) y luego crear las clases restantes donde tengan sus propias
características.
Ahora si podemos contestar lo siguiente:
Un Auto es un vehículo
Una Furgoneta es un vehículo
Un Camión es un vehículo ….
16. DISEÑO DE CLASES
Conociendo la regla para diseñar la herencia en clases, vamos a utilizar la clase empleado para generar una nueva llamada Jefe que además
de tener los atributos comunes de la clase Empleado, va a tener sus propios atributos y métodos.
Por ejemplo los Objetos Jefes van a tener un atributo propio como incentivo
La clase empleado sirve o no sirve para crear objetos de tipo jefe.
La clase empleado tal y como esta diseñado no sirve porque no tiene el atributo incentivo.
De pronto podremos crear un método en la clase que pueda cargar un incentivo, pero no es lógico ya que no todos los empleados tienen un
incentivo.
Entonces analizando esto podemos concluir que tenemos que crear una nueva clase llamada Jefe que herede de empleado sus atributos y
métodos.
17. DISEÑO DE CLASES
class jefes extends Empleado{
public jefes (String nom, double suel,int an,int mes,int dia){
super (nom,suel,an,mes,dia);
}
public void establece_incentivo(double b){
incentivo=b;
}
La clase empleado ya tiene el metodo dame_sueldo y jefatura hereda pero no nos sirve porque este
metodo esta preparado para devolver el sueldo pero jefe tiene incentivo, entonces creamos el metodo
dame_sueldo sobreescribiendo este metodo de la clase principal
public double dame_sueldo(){
double sueldo_jefe=super.dame_sueldo();//almacenar en sueldo_jefe lo que de el metodo
dame_sueldo de la clase padre
return sueldo_jefe + incentivo;
}
private double incentivo;
}
18. QUE ES ESTO DEL POLIMORFISMO Y EL PRINCIPIO DE SUSTITUCION?
El Polimorfismo esta relacionado con el principio de sustitucion que implica lo siguiente:
Se puede utilizar un objeto de una subclase siempre que el programa espere un objeto de la
superclase.
O lo que es lo mismo Un objeto se puede comportar de diferente forma
dependiendo del contexto.
En Java todas las variables de tipo objeto son polimorficas
Ejemplo.
Empleado empleado1=new Empleado();
empleado1 dependiendo del contexto donde se lo utlice se puede comportar de una forma o
otra o puede adopter una forma diferente.
De ahi el concepto de Polimorfismos (diferentes formas , diferente comportamiento
dependiendo del contexto)
19. QUE ES ESTO DEL POLIMORFISMO Y EL PRINCIPIO DE SUSTITUCION?
Ahora vamos a crear una instancia de tipo Jefe y luego vamos a intentar almacenarlo en el array misempleados y luego
llamamos al metodo de la clase Jefes establece_incentivo
Ahora vamos a ver el Polimorfismo en accion en la siguiente linea de codigo
Se puede utilizar un objeto de una subclase siempre
que el programa espere un objeto de la superclase.
Que espera almacenemos en la posicion 4 del array un objeto de tipo empleado, sin embargo estamos almacenando
un objeto de tipo jefatura y esto por la regla un jefe es un empleado entonces por ese motivo un objeto de tipo
jefatura podemos almacenarlo.
PRINCIPIO DE SUSTITUCION
20. QUE ES ESTO DEL POLIMORFISMO Y EL PRINCIPIO DE SUSTITUCION?
Ahora vamos a ver major el polimorfismo analizando los bucles for each del programa
Utlizamos un nombre de variable que sea de tipo objeto (empleado) para recorrer el array misEmpleados
La variable e es de tipo empleado
En la linea e.dame_sueldo estamos llamando al metodo de la clase Empleado. Ahora ejecutemos el programa.
En el Segundo bucle probamos e. para verificar los metodos de la clase Empleado
21. QUE ES ESTO DEL POLIMORFISMO Y EL PRINCIPIO DE SUSTITUCION ?
• El Id empieza de una forma desordenada es por que primero llama al constructor de empleado y se asigna el Id
como muestra el siguiente codigo
• El campo sueldo verificar su valor y observamos que aparece el polimorfismo
• La variable e al iniciar el bucle se comporta como una variable de tipo empleado, pero al encontrarse con objetos
que pertenecen a la clase jefes, cambia de comportamiento y pasa hacer de tipo jefes
• Esta llamando al metodo dame_sueldo de jefes porque esta agregando un incentive
En definitiva una variable de tipo Objetose comporta de una forma o otra dependiendo del contexto