Beruflich Dokumente
Kultur Dokumente
Programacin Orientada a
Objetos
Compilado por:
Mag. Sonia Mora.
Dra. Mayela Coto.
EIF200 FUNDAMENTOS DE INFORMTICA
Programa
IMC
< de 18.5
18.5 a 24.9
25 a 29.9
30. a 39.9
>40
120 kg
=
1.65 x 1.65
120 kg = 44
2.7225
Ejemplo Persona
Indentacin
MUY importante
de
Ejemplo:Nombre
partes
de
una
clase
la clase
class Persona
{
private:
string nombre;
float peso;
float estatura;
Zona de
atributos
Persona (string unNombre, float unPeso,
float unaEstatura)
Zona de
mtodos
nombre = unNombre;
peso= unPeso;
estatura = unaEstatura;}
}
// aqu se pueden colocar otros mtodos
}; // fin de la clase
Zona de atributos
class Persona
{
private:
string nombre;
float peso;
float estatura;
Los atributos se
representan como
campos y estos tienen
identificadores
En general, los
identificadores son
utilizados para nombrar
las diferentes entidades
presentes en una clase
Visibilidad: Atributos*
Smbol
o
Mnemni
co
Resultado
Private
Public
Protecte
d*
Identificadores
Son
nombres
simblicos
que se
forman
mediante
una
secuencia
de letras y
dgitos. En
C++
Ejemplos
tipo
Color pelo
35
valor_promedio
maximo%
sal_prome
82T35Gd1
Me12_zc
diaFeriado
_pagoTotal
EIF200 FUNDAMENTOS DE INFORMTICA
Ejemplos
tipo
Color pelo
35
valor_promedio
maximo%
sal_prome
82T35Gd1
Me12_zc
diaFeriado
_pagoTotal
correcto
incorrecto
No se permiten blancos
incorrecto
correcto
incorrecto
No se permite %
correcto
incorrecto
correcto
correcto
correcto
EIF200 FUNDAMENTOS DE INFORMTICA
Palabras reservadas
delete
goto
public
this
break
do
if
register
template
case
double
inline
return
typedef
match
else
int
short
union
char
enum
long
signed
unsigned
class
extern
new
sizeof
virtual
const
float
overload
static
void
continue
for
private
struct
volatile
default
friend
protected
switch
while
Identificadores
Principios
importantes
sobre el uso de
los
identificadores
que deben
tenerse en
cuenta son:
Ejemplos:
Contenido de la variable
Nombre representativo
Salario bruto sin impuestos
salBruSinImp
Nombre del empleado
nomEmp
Impuesto sobre la renta
impRen
Aproximacin polinomial exponencial
aproPolExp
Tipos de datos
Tipos de datos
Tipos de datos
Tipos de datos
Ejemplos:
int a;
// a = 5
float b; // b= 7.678
Tipos de datos
Ejemplo:
bool si; // si = true;
Tipos de datos
Tamao(bits) Rango
8 (los siete bits
Nota
0o1
Valor lgico
Un carcter o
un entero
pequeo
superiores son
ignorados)
char
short
16
El doble de un
char
int
32
De -2147483648 a 2147483647
Nmero
entero
(signed)
o de 0 a 4294967296
long
32 (puede ser 64
en otras
arquitecturas
float
32
(unsigned)
De -2147483648 a 2147483647
(signed)
o de 0 a 4294967296
(unsigned)
De +/- 1.4023x10-45 a
3.4028x10+38
Nmero
entero
Nmero real
Variables
Tipo de identificador que se utilizan para conservar
valores durante la ejecucin de un programa.
Permiten representar valores que no necesariamente
se conocen cuando se escriben las aplicaciones y a su
vez pueden cambiar durante la ejecucin de stas.
Al contenido de las variables se tiene acceso a travs
de los nombres simblicos (identificadores) que las
identifican.
Una variable debe tener un tipo asociado que es
precisamente el tipo de los valores que ella puede
conservar.
Declaracin de variables
Ejemplos:
string nombre;
float peso;
float estatura;
El tipo determina:
La clase de valores que puede tomar una variable (valores reales en
el caso de peso)
Las operaciones en las que puede participar (aritmticas en peso).
EIF200 FUNDAMENTOS DE INFORMTICA
Asignacin de variables
Asigna valores a las
variables
La instruccin de
asignacin se ejecuta:
se evala la expresin a
la derecha del operador
de asignacin (=)
el resultado de esta
evaluacin se le da como
valor a la variable que
est a la izquierda del
operador
Utiliza el operador
=
<variable> = <expresin>;
Luego de haberse
efectuado esta asignacin
de valores a la variable
de la izquierda este valor
sustituye cualquier otro
que hubiera tenido con
anterioridad la variable.
Nota: Es importante
diferenciar este operador
de asignacin con el
utilizado en las
igualdades matemticas.
Asignaciones
identificador = expresin;
Expresin
Expresiones y Operadores
unarios,
binarios y
ternarios
Expresiones y Operadores
+
*
/ si los operandos son enteros trunca el
unario ms unario +
Expresiones y Operadores
Ejemplos:
asignacin
resultado
x1 = 4+-2 * 5 + 10 2*3;
x2 = (4+-2) * 5 + 10 (2*3);
x3 = 17/2;
x4= 17.0/2;
x5= 12 % 2;
x6 = 5 % 2;
7x = true and false:
EIF200 FUNDAMENTOS DE INFORMTICA
Expresiones y Operadores
Ejemplos:
asignacin
resultado
x1 = 4+-2 * 5 + 10 2*3;
-2
x2 = (4+-2) * 5 + 10 (2*3);
14
x3 = 17/2
x4= 17.0/2
8.5
x5= 12 % 2
x6 = 5 % 2
error
int temperatura;
int edadJuan;
temperatura = -5;
edadJuan = 25;
edadJuan = edadJuan + 1;
int edadPedro = 23;
float peso = 60.5;
char letra = 'a';
bool existe = true;
string nombreJuan = Juan;
nombrePedro = nombreJuan;
nombreAna = Ana;
+=
-=
*=
/=
%=
incremento(++)
decremento (--)
peso = peso + 1;
peso++;
peso+=1;
valor = valor - 1;
valor --;
valor-=1;
34
};
Mtodos
Constructor
y destructor
Obtener y
establecer
(get y set)
Mtodo en
donde se
realizan
clculos
Mtodos
privados
Visibilidad: Mtodos*
Smbol
o
+
#
*
Mnemni
co
Private
Public
Protecte
d*
Abstract*
* No se estudiarn como
Resultado
Static*
Constructores
Todas las clases tienen uno o ms mtodos usados para crear el objeto.
Estos mtodos son llamados los constructores (ya que construyen el
objeto).
Ejemplo Persona
Al crear un objeto
Persona tendr el nombre
con valor de indefinido, y
peso y estatura
con valor de 0
Persona
Personita
cedula: " indefinido
"
nombre:
"
nombre:
peso
: 0 ""
apellido: " 0
"
estatura:
annoNacimiento: 0
sexo: ' '
Objeto 1
Atributos
mtodos
mensajes
Encapsulacin
Radio
Vehculo
setCantidadCombustible (50.4)
Carro2 : Carro
cantidadCombustible
50.4
Carro1 : Carro
getKilometraje ()
kilometraje
1908.55
kilometraje
1908.55
Usualmente se definen
por cada atributo y
deben definirse dentro
de la clase.
setNombre()
setFecha()
EIF200 FUNDAMENTOS DE INFORMTICA
Mtodo set()
public:
// mtodos constructores
.
.
// mtodos set
void setNombre (string pNombre) {
nombre = pNombre; }
void setPeso (float unPeso) {
peso= unPeso; }
void setEstatura (float unaEstatura) {
estatura = unaEstatura; }
}; // fin de la clase
getNombre()
getFecha()
Mtodo get()
El mtodo get devuelve el valor que tiene un
atributo en particular.
Debe especificar el tipo del dato que devuelve.
string getNombre ( )
{
return (nombre);
}
float getPeso ( )
{
return (peso);
}
EIF200 FUNDAMENTOS DE INFORMTICA
// mtodos get
string getNombre ( ) {
return(nombre); }
float getPeso ( ) {
return(peso); }
float getEstatura( ) {
return(estatura); }
}; // fin de la clase
Mtodos destructores
Los destructores son mtodos que sirven para eliminar un objeto de una
determinada clase, liberando la memoria utilizada por dicho objeto.
Cuando se define un destructor para una clase, ste es llamado
automticamente cuando se abandona el mbito en el que fue definido, y
por tanto no tienen por qu ser llamadas explcitamente por el
programador. Esto es as excepto cuando el objeto fue creado
dinmicamente con el operador new
Los destructores tienen el mismo nombre que la clase, pero con el smbolo
~ delante.
El destructor no admite
argumentos ni retorna un
valor. Ejemplo
EIF200 FUNDAMENTOS DE INFORMTICA
~Persona()
{
//Se muri la persona
}
// mtodos get
..
..
// mtodo destructor
~Persona()
{
//Se destruye el objeto Persona
}
}; // fin de la clase
Llaves inicial
y final
comentarios
public:
// aqu se pueden colocar otros mtodos
Persona( )
}; // fin de la clase
{
nombre = "indefinido";
peso = 0;
estatura = 0;
}
EIF200 FUNDAMENTOS DE INFORMTICA
Comentarios
Es texto que se incluye en el cdigo fuente con el objetivo
de facilitar su legibilidad a los programadores.
No tienen significado alguno para la ejecucin de una
aplicacin o sea son ignorados por el compilador.
Ejemplos:
// identificacin de la clase
// atributos
// int es equivalente a entero
// mtodo de consulta o acceso
/* Esto es un comentario que ejemplifica cmo se
comentarios que ocupan varias lneas */
escriben
public:
Persona( )
{
nombre = "indefinido";
peso = 0;
estatura = 0;
}
EIF200 FUNDAMENTOS DE INFORMTICA
// mtodos get
string getNombre ( ) {
return(nombre); }
float getPeso ( ) {
return(peso); }
float getEstatura( ) {
return(estatura); }
~Persona()
{
//Se muri la persona }
FALTAN los mtodos de clculo!!!
}; // fin de la clase
Mtodos de clculo
Mtodos de clculo
// mtodo que calcula el IMC de una persona
float IMC() {
return (peso/(estatura*estatura));
}
Recuerde que
peso y estatura
son atributos de la
clase Persona
EIF200 FUNDAMENTOS DE INFORMTICA
En general
Mtodos
Mtodos
Mtodos
Cmo calculamos el tipo de obesidad de
nuestro problema?
Recuerden que la frmula depende del IMC de la
persona
Necesitamos una
estructura
que nos permita
identificar el rango en el
que se encuentra el IMC
del objeto
EIF200 FUNDAMENTOS DE INFORMTICA
Pensarlo como
TAREA