#include <stdio.h>
#include <conio.h>
#include <iostream>
using namespace std;
//Realizar un programa que imprima los datos de un coche, tren y avión utilizando herencia.
class vehiculo{
protected:
int dep, vel;
public:
void acelerar(){
cout<<endl<<"Acelerar";}
void frenar(){
cout<<endl<<"Frenar"<<endl<<endl;}
};
class coche : public vehiculo {
private:
int puertas;
public:
coche (int dep1, int vel1, int puertas1){
dep=dep1;
vel=vel1;
puertas=puertas1;
}
void imprimir()
{
cout<<"Deposito ="<<dep<<endl;
cout<<"Velocidad ="<<vel<<endl;
cout<<"Puertas ="<<puertas<<endl;
}
};
class tren : public vehiculo {
private:
int vagones;
public:
tren (int dep1, int vel1, int vagones1){
dep=dep1;
vel=vel1;
vagones=vagones1;
}
void imprimir()
{
cout<<"Deposito ="<<dep<<endl;
cout<<"Velocidad ="<<vel<<endl;
cout<<"Vagones ="<<vagones<<endl;
}
};
class avion : public vehiculo {
private:
int puertas;
public:
void despegar(){
cout<<"Despegar"<<endl;
}
void aterrizar(){
cout<<"Aterrizar"<<endl;
}
avion(int dep1, int vel1, int puertas1){
dep=dep1;
vel=vel1;
puertas=puertas1;
}
void imprimir(){
cout<<"Deposito ="<<dep<<endl;
cout<<"Velocidad ="<<vel<<endl;
cout<<"Puertas ="<<puertas<<endl;
}
};
main ()
{
coche a1(80,180,2);
tren a2(100,90,7);
avion a3(100,190,1);
cout << "Coche" << endl;
a1.imprimir();
a1.acelerar();
a1.frenar();
cout << "Tren" << endl;
a2.imprimir();
a2.acelerar();
a2.frenar();
cout << "Avion" << endl;
a3.imprimir();
a3.acelerar();
a3.frenar();
a3.despegar();
a3.aterrizar();
}
miércoles, 31 de enero de 2018
EJERCICIO
- DATOS DE UN COCHE
#include <iostream>
#include <stdlib.h>
#include <conio.h>
using namespace std;
//Realizar un programa, que solicite al usuario los datos del coche (adaptar método), si el modelo del //auto es menor a "2000", la velocidad sera 20 asteriscos presentados en pantalla , su velocidad //máxima sera 120 km/h, y su aceleración será desconocida. Si el modelo del auto es mayor del 2000, //su velocidad sera 50 asteriscos, velocidad máxima 300 km/h y su aceleración 10 km/s.
//Realice un programa que ingrese los datos salga especificación y salga del programa pulsando la //tecla 0 - otro numero para seguir.
class coche{
public:
string matricula, marca;
int modelo, numerop;
public:
coche(){
}
coche(string matricula1, string marca1, int modelo1, int numerop1){
matricula=matricula1;
marca=marca1;
modelo=modelo1;
numerop=numerop1;
}
void Velocidad(){
if(modelo<2000){
for(int i=0;i<=20;i++){
cout<<"*";
}
}
else {
for(int i=0;i<=50;i++){
cout<<"*";
}
}
}
void Velocidadmax(){
if(modelo<2000)
cout<<endl<<"Su velocidad maxima es: 120 km/h"<<endl;
else
cout<<endl<<"su velocidad maxima es: 300 km/h"<<endl;
}
void Aceleracion(){
if(modelo<2000)
cout<<"Velocidad desconocida"<<endl;
else
cout<<"Velocidad de aceleracion es:10 km/s"<<endl;
}
void imprimir(){
cout<<"Ingrese matricula"<<endl;
cin>>matricula;
cout<<"Ingrese marca"<<endl;
cin>>marca;
cout<<"Ingrese modelo"<<endl;
cin>>modelo;
cout<<"Ingrese numero de puertas"<<endl;
cin>>numerop;
}
};
main(){
int c;
coche a1;
do{
a1.imprimir();
a1.Velocidad();
a1.Velocidadmax();
a1.Aceleracion();
cout<<"Ingrese 1 para volver a introducir datos, otro numero para cerrar"<<endl;
cin>>c;
}while(c==1);
getch();
}
#include <iostream>
#include <stdlib.h>
#include <conio.h>
using namespace std;
//Realizar un programa, que solicite al usuario los datos del coche (adaptar método), si el modelo del //auto es menor a "2000", la velocidad sera 20 asteriscos presentados en pantalla , su velocidad //máxima sera 120 km/h, y su aceleración será desconocida. Si el modelo del auto es mayor del 2000, //su velocidad sera 50 asteriscos, velocidad máxima 300 km/h y su aceleración 10 km/s.
//Realice un programa que ingrese los datos salga especificación y salga del programa pulsando la //tecla 0 - otro numero para seguir.
class coche{
public:
string matricula, marca;
int modelo, numerop;
public:
coche(){
}
coche(string matricula1, string marca1, int modelo1, int numerop1){
matricula=matricula1;
marca=marca1;
modelo=modelo1;
numerop=numerop1;
}
void Velocidad(){
if(modelo<2000){
for(int i=0;i<=20;i++){
cout<<"*";
}
}
else {
for(int i=0;i<=50;i++){
cout<<"*";
}
}
}
void Velocidadmax(){
if(modelo<2000)
cout<<endl<<"Su velocidad maxima es: 120 km/h"<<endl;
else
cout<<endl<<"su velocidad maxima es: 300 km/h"<<endl;
}
void Aceleracion(){
if(modelo<2000)
cout<<"Velocidad desconocida"<<endl;
else
cout<<"Velocidad de aceleracion es:10 km/s"<<endl;
}
void imprimir(){
cout<<"Ingrese matricula"<<endl;
cin>>matricula;
cout<<"Ingrese marca"<<endl;
cin>>marca;
cout<<"Ingrese modelo"<<endl;
cin>>modelo;
cout<<"Ingrese numero de puertas"<<endl;
cin>>numerop;
}
};
main(){
int c;
coche a1;
do{
a1.imprimir();
a1.Velocidad();
a1.Velocidadmax();
a1.Aceleracion();
cout<<"Ingrese 1 para volver a introducir datos, otro numero para cerrar"<<endl;
cin>>c;
}while(c==1);
getch();
}
domingo, 14 de enero de 2018
QUÉ ES LA HERENCIA? (SIMPLE Y MÚLTIPLE)
HERENCIA SIMPLE Y MÚLTIPLE
La Herencia.
Es la capacidad de compartir atributos y métodos entre clases.
Es la propiedad que permite definir nuevas clases usando como base clases ya existentes.
La nueva clase (clase derivada) hereda los atributos y comportamiento que son específicos de
ella.
HERENCIA MÚLTIPLE
En el tipo de herencia múltiple se van a usar dos o más clases base para derivar una clase. Osea,
la clase derivada comparte los atributos y los métodos de más de una clase
MIRA ESTE VIDEO, TE AYUDARÁ A COMPRENDER MEJOR EL TEMA ----CLIC AQUÍ-----
HERENCIA SIMPLE
Mientras sólo se tenga una clase base de la cual hereda la clase derivada, se dice que hay herencia simple. Sin embargo, la herencia simple no excluye la posibilidad de que de una misma clase base se pueda derivar más de una subclase o clase derivada.
EJERCICIO
EJERCICIO DATOS PERSONALES
#include <iostream>
#include <conio.h>
#include <stdio.h>
using namespace std;
/*
Realice una clase llamada datos personales, que contenga 3 datos: nombre, edad y estado civil.
Realice un programa que contenga un constructor por defecto que incialice los valores "xxx" para nombre, "- 1" para edad y "desconocido" para estado civil.
Realice un programa que contenga un constructor por defecto que incialice los valores "xxx" para nombre, "- 1" para edad y "desconocido" para estado civil.
*/
class DatosPersonales{
private:
string nombre, estadocivil;
int edad;
public:
DatosPersonales(){
edad = -1;
nombre = "x x x";
estadocivil = "Desconocido";
}
void GetDatos()
{
cout << nombre << endl;
cout << edad << endl;
cout << estadocivil;
}
};
main()
{
DatosPersonales p1;
p1.GetDatos();
getch();
}
Método Constructor
QUÉ ES LA SINTAXIS?
Un programa en C++ es una secuencia de caracteres que se agrupan en componentes léxicos (tokens)que comprenden el vocabulario básico del lenguaje.Estos componentes de léxico son: palabras reservadas, identificadores, constantes, operadores y signos de puntuación.
QUÉ ES UN MÉTODO CONSTRUCTOR?
Los constructores son funciones miembro especiales que sirven para inicializar un objeto de una determinada clase al mismo tiempo que se declara. ... Tienen el mismo nombre que la clase a la que pertenecen. No tienen tipo de retorno, y por lo tanto no retornan ningún valor. No pueden ser heredados.
EJERCICIO
MIRA ESTE VIDEO PARA MAYOR ENTENDIMIENTO -----CLIC AQUÍ----
#include <iostream>
#include <cstdlib>
using namespace std;
class aplicacion{
//Metodo constructor
public:
aplicacion();
};
aplicacion::aplicacion(){
cout << " ************* " << endl;
cout << " * * " << endl;
cout << " * * " << endl;
cout << " ************* " << endl;
cout << " * 9 8 7 * " << endl;
cout << " * 6 5 4 * " << endl;
cout << " * 3 2 1 * " << endl;
cout << " * 0 * " << endl;
cout << " ************* " << endl;
}
main(){
aplicacion calculara;
system("pause");
}
Un programa en C++ es una secuencia de caracteres que se agrupan en componentes léxicos (tokens)que comprenden el vocabulario básico del lenguaje.Estos componentes de léxico son: palabras reservadas, identificadores, constantes, operadores y signos de puntuación.
QUÉ ES UN MÉTODO CONSTRUCTOR?
Los constructores son funciones miembro especiales que sirven para inicializar un objeto de una determinada clase al mismo tiempo que se declara. ... Tienen el mismo nombre que la clase a la que pertenecen. No tienen tipo de retorno, y por lo tanto no retornan ningún valor. No pueden ser heredados.
EJERCICIO
MIRA ESTE VIDEO PARA MAYOR ENTENDIMIENTO -----CLIC AQUÍ----
#include <iostream>
#include <cstdlib>
using namespace std;
class aplicacion{
//Metodo constructor
public:
aplicacion();
};
aplicacion::aplicacion(){
cout << " ************* " << endl;
cout << " * * " << endl;
cout << " * * " << endl;
cout << " ************* " << endl;
cout << " * 9 8 7 * " << endl;
cout << " * 6 5 4 * " << endl;
cout << " * 3 2 1 * " << endl;
cout << " * 0 * " << endl;
cout << " ************* " << endl;
}
main(){
aplicacion calculara;
system("pause");
}
El Encapsulamiento
¿Qué es encapsulamiento? Se
denomina encapsulamiento a la protección que se da sobre los atributos a
modificaciones del exterior.
En
este caso nos damos cuenta como el programa se vuelve seguro, ya que al
declarar a los atributos “edad” y
“nombre” como privado no podrán ser modificado por un valor inválido o
negativo.
sábado, 6 de enero de 2018
EJERCICIO VEHÍCULOS
Vamos a realizar un ejercicio con la utilización de clases el cual nos dice que:
Realizar una clase llamada vehículo que contenga los atributos (nombre, velocidad en km/h, numero de pasajeros), la clase debe contener los siguiente métodos: acelerar, frenar y datos; en acelerar se debe realizar un contador del 1 al 1000, en frenar, un mensaje que diga frenar, y en datos se debe solicitar los datos del vehiculo al usuario.En el método acelerar o frenar, para acelerar se debe pulsar 1 y para frenar 0. Para salir se debe pulsar cualquier tecla, el programa debe solicitar los datos y que quiere hacer, si acelerar, frenar o salir.
Realizar una clase llamada vehículo que contenga los atributos (nombre, velocidad en km/h, numero de pasajeros), la clase debe contener los siguiente métodos: acelerar, frenar y datos; en acelerar se debe realizar un contador del 1 al 1000, en frenar, un mensaje que diga frenar, y en datos se debe solicitar los datos del vehiculo al usuario.En el método acelerar o frenar, para acelerar se debe pulsar 1 y para frenar 0. Para salir se debe pulsar cualquier tecla, el programa debe solicitar los datos y que quiere hacer, si acelerar, frenar o salir.
#include <stdio.h>
#include <conio.h>
#include <iostream>
using namespace std;
/*
Realizar una clase llamada vehículo que contenga los atributos
(nombre, velocidad en km/h, numero de pasajeros), la clase debe
contener los siguiente métodos: acelerar, frenar y datos; en
acelerar se debe realizar un contador del 1 al 1000, en frenar,
un mensaje que diga frenar, y en datos se debe solicitar los
datos del vehiculo al usuario.En el método acelerar o frenar,
para acelerar se debe pulsar 1 y para frenar 0. Para salir se
debe pulsar cualquier tecla, el programa debe solicitar los datos
y que quiere hacer, si acelerar, frenar o salir.
*/
class vehiculo
{
public:
int vel, pas, num, i;
public:
void acelerar()
{
for(int a=1; a<=1000; a++)
{
cout<<endl<<a;
}
}
public:
void frenar()
{
cout<<endl<<"FRENAR";
}
public:
void datos()
{
cout<<"Ingrese el numero correspondiente: 1. Moto o 2. Avion"<<endl;
cin>>num;
cout<<"Ingrese la velocidad en km/h"<<endl;
cin>>vel;
cout<<"Ingrese el numero de pasajeros"<<endl>
cin>>pas;
cout<<"Ingrese 1 si quiere acelerar, 0 si quiere frenar, y cualquier tecla para salir"<<endl;
cin>>i;
if(i==1)
acelerar();
else
if(i==0)
frenar();
else
cout<<"A escogido salir";
}
};
main()
{
vehiculo transporte;
transporte.datos();
getch();
}
EJERCICIO ANIMALES
Vamos a realizar un ejercicio con la utilización de clases el cual nos dice que:
/*
Realizar una clase que se llame "mamiferos", la cual
de tener 1 atributo que va a contener un numero.
Además debe tener un metodo que se llame "sonido".
Realizar un programa que solicite un número del 1 al 3
(1 sera gato, 2 sera vaca y 3 sera perro).
El programa debe decir el nombre del animal y el sonido que hace por medio
del metodo y atributo indicado anteriormente.
*/
PROGRAMA REALIZADO :
#include <iostream>
#include <conio.h>
using namespace std;
/*
Realizar una clase que se llame "mamiferos", la cual
de tener 1 atributo que va a contener el nombre de un
animal. Además debe tener un metodo que se llame "sonido".
Realizar un programa que solicite un número del 1 al 3
(1 sera gato, 2 sera vaca y 3 sera perro.
El programa debe decir el nombre del animal y el sonido que hace por medio
del metodo y atributo indicado anteriormente.
*/
class Mamiferos{
public:
int nom;
public:
void sonido()
{
if (nom==1)
{
cout<<endl<<"Animal: Gato";
cout<<endl<<"Sonido: Miau";
}
else
if(nom==2)
{
cout<<endl<<"Animal: Vaca";
cout<<endl<<"Sonido: Muuu";
}
else
{
cout<<endl<<"Animal: Perro";
cout<<endl<<"Sonido: Guau";
}
}
};
main()
{
Mamiferos a1;
cout<<"Ingrese un numero 1 , 2 o 3"<<endl;
cin>>a1.nom;
a1.sonido();
getch( );
}
/*
Realizar una clase que se llame "mamiferos", la cual
de tener 1 atributo que va a contener un numero.
Además debe tener un metodo que se llame "sonido".
Realizar un programa que solicite un número del 1 al 3
(1 sera gato, 2 sera vaca y 3 sera perro).
El programa debe decir el nombre del animal y el sonido que hace por medio
del metodo y atributo indicado anteriormente.
*/
PROGRAMA REALIZADO :
#include <iostream>
#include <conio.h>
using namespace std;
/*
Realizar una clase que se llame "mamiferos", la cual
de tener 1 atributo que va a contener el nombre de un
animal. Además debe tener un metodo que se llame "sonido".
Realizar un programa que solicite un número del 1 al 3
(1 sera gato, 2 sera vaca y 3 sera perro.
El programa debe decir el nombre del animal y el sonido que hace por medio
del metodo y atributo indicado anteriormente.
*/
class Mamiferos{
public:
int nom;
public:
void sonido()
{
if (nom==1)
{
cout<<endl<<"Animal: Gato";
cout<<endl<<"Sonido: Miau";
}
else
if(nom==2)
{
cout<<endl<<"Animal: Vaca";
cout<<endl<<"Sonido: Muuu";
}
else
{
cout<<endl<<"Animal: Perro";
cout<<endl<<"Sonido: Guau";
}
}
};
main()
{
Mamiferos a1;
cout<<"Ingrese un numero 1 , 2 o 3"<<endl;
cin>>a1.nom;
a1.sonido();
getch( );
}
Términos principales - Programación orientada a objetos
Términos principales - Programación orientada a objetos
- Instanciar = crear "objeto". --- VIDEO PARA MEJOR COMPRENSIÓN CLIC AQUÍ ---
- Atributos = "declaración de variable". -- VIDEO PARA MEJOR COMPRENSIÓN CLIC AQUÍ --
- Métodos = "funciones" que hacen posible
el correcto -- VIDEO PARA MEJOR COMPRENSIÓN CLIC AQUÍ --
funcionamiento del programa.
- Ahora en vez de utilizar "printf" y "scanf", ahora, se utilizara "cout" y "cin" que son los comandos utilizados en POO.
Aquí tienes un programa que realizamos con el fin de aplicar los conocimientos adquiridos:
#include <iostream>
#include <conio.h>
REALIZAR UN PROGRAMA CON LA UTILIZACION DE CLASES,
QUE INGRESE LA EDAD DEL USUARIO
E IMPRIMA LA MISMA EN PANTALLA.
*/
using namespace std;
class Persona {
public:
int edad;
char nom[10];
public:
void imprimir( ){
cout<<edad;
}
};
main( ) {
Persona alumno;
cout<<" Ingresa la edad:";
cin>>alumno.edad;
alumno.imprimir( );
getch( );
}
POO TÉRMINOS NUEVOS
PROGRAMACIÓN ORIENTADA A OBJETOS
Para empezar en Programación Orientada a objetos investigamos sobre los nuevos términos que se usarán en programación orientada
a objetos, con el fin de implementar nuevos conceptos en nuestra mente y
entender fácilmente los nuevos temas a tratar.
1.- ¿Qué es una clase? Cada clase es un modelo que define un conjunto de variables “el estado”, y métodos apropiados para operar
con dichos datos “el comportamiento”. Cada objeto creado a
partir de la clase se
denomina instancia de la clase.
Se asemeja a una “plantilla”, la cual se usará luego para crear más objetos.
2.- ¿Qué es un atributo? Los atributos son las características individuales que diferencian
un objeto de otro y determinan su apariencia, estado u otras cualidades. Los
atributos se guardan en variables denominadas de instancia, y cada objeto
particular puede tener valores distintos para estas variables.
3.- ¿Qué es método? El comportamiento de los objetos de una clase se implementa
mediante funciones miembro o métodos. Un método es un conjunto de instrucciones
que realizan una determinada tarea y son similares a las funciones de los
lenguajes estructurados.
4.- ¿Qué es abstracción? Una clase
abstracta es aquella sobre la que no podemos crear especímenes concretos, en la
jerga de POO es
aquella sobre la que no podemos instanciar objetos.
5.- ¿Qué es instanciar? Consiste
en usar en el main, la clase o plantilla del tipo de hayamos creado, la cual la
utilizamos, por medio de una variable objeto, para darle características y
funciones propias al mismo.
6.- ¿Qué es public? Se
refiere a la palabra reservada “public” de los miembros de una clase, los
cuales, si son públicos, son accesibles desde cualquier parte donde sea
accesible el propio objeto.
7.- ¿Qué es private? Se
refiere a la palabra reservada “private” de los miembros de una clase, los
cuales, si son privados, son accesibles por los propios miembros de la clase y
en genral por objetos de la misma clase, pero no desde funciones externas o
desde funciones de clases derivadas.
8.- ¿Qué es polimorfismo? El polimorfismo se refiere a la propiedad
por la que es posible enviar mensajes sintácticamente iguales a objetos de
tipos distintos. El único requisito que deben cumplir los objetos que se
utilizan de manera polimórfica es saber responder al mensaje que se les envía.
9.- ¿Qué es encapsulamiento? Se
denomina encapsulamiento al ocultamiento del estado, es decir, de los datos
miembro de un objeto de manera que solo se pueda cambiar mediante las
operaciones definidas para ese objeto.
10.- ¿Qué es herencia? Herencia es la habilidad de extender una funcionalidad
existente definiendo una nueva clase que hereda funcionalidad de una clase
existente.
- NETGRAFÍA:
Trabajo grupal
TRABAJO GRUPAL FUNCIÓN STRUCT
Junto a mi grupo realizamos la exposición del trabajo con la ayuda de cartulinas explicando el tema de la "Función Struct"
1. Struct: Es la palabra reservada y contiene los tipos de datos.
2. Nombre_estructura: Se puede poner cualquier nombre.
3. { } Las llaves : Son los signos que abren y cierran la estructura.
4. Miembros: Se coloca cualquier tipo de dato: int, float, double, char, etc.
5. Main(): En la exposición se aclaró que toda estructura debe ir antes del main, en caso contrario no funcionaría.
Suscribirse a:
Entradas (Atom)
EJERCICIO
#include <stdio.h> #include <conio.h> #include <iostream> using namespace std; //Realizar un programa que imprima lo...
-
HERENCIA SIMPLE Y MÚLTIPLE MIRA ESTE VIDEO, TE AYUDARÁ A COMPRENDER MEJOR EL TEMA ----CLIC AQUÍ---- - La Herencia. Es la ca...
-
Términos principales - Programación orientada a objetos - Instanciar = crear "objeto". --- VIDEO PARA MEJOR CO...
-
ARRAYS / VECTORES Los vectores son una forma de almacenar datos que permiten contener una serie de valores del mismo tipo, cada uno de l...