02.-metodos
TRANSCRIPT
-
7/24/2019 02.-Metodos
1/12
Programacin Orientada a Objetos en C# .NET
Ing. Bruno Lpez Takeas! ".C.ttp$%%&&&.itnue'o(aredo.edu.m)%Takeas *
C+P,T-LO /I0E1O E I"PLE"ENT+CI2N
/E "3TO/O0 EN C#
2
-
7/24/2019 02.-Metodos
2/12
Programacin Orientada a Objetos en C# .NET
Ing. Bruno Lpez Takeas! ".C.ttp$%%&&&.itnue'o(aredo.edu.m)%Takeas
3
Preguntas detonadoras
Qu es un mtodo?
Cules son los tipos de mtodos? En qu se parecen?En qu difieren?
Cmo se envan datos a los mtodos?
Cundo se recomienda enviar parmetros por valor?
Cundo por referencia?Por qu son importantes los mtodos para los
obetos?
!
"4todos
Contienen instrucciones para eecutar almomento de ser invocados"
#n mtodo contiene$ %odificador de &cceso '(etermina su visibilidad)
*ipo de dato '(evuelto al finali+ar su eecucin)
,dentificador '-ombre con el cual se invoca)
Parmetros 'Cero o mas variables que recibe elmtodo)
-
7/24/2019 02.-Metodos
3/12
Programacin Orientada a Objetos en C# .NET
Ing. Bruno Lpez Takeas! ".C.ttp$%%&&&.itnue'o(aredo.edu.m)%Takeas 5
"4todosEn C. las subrutinas se conocen como
mtodos/ se codifican como parte de una clase0 se clasifican en 1
%*4(45
Procedimientos 6 -4 devuelven valor
7unciones 6 (evuelven un valor
0inta)is de (os m4todos
8
< tipoValorDevuelto > < nombreMtodo > (< parmetros >)
{
< cuerpo >
}
Ejemplo:void Saludo( )
{
Console.Write(Hola);
}
void significa que NOdevuelve valor 'procedimiento)
-
7/24/2019 02.-Metodos
4/12
Programacin Orientada a Objetos en C# .NET
Ing. Bruno Lpez Takeas! ".C.ttp$%%&&&.itnue'o(aredo.edu.m)%Takeas 6
9
Ejemp(o de un m4todo7en (a c(ase8
class Carro
{
public void Encender()
{
System.Console.WriteLine("El Auto se ha
encendido!");
}
}
%odificadorde acceso
*ipo de datodel valor re:resado
,dentificadorParmetros
;
Procedimientos
static void Imprimir()
{
Console.WriteLine(Nombre);
Console.WriteLine(Edad);
Console.WriteLine(Sueldo);
}
-
7/24/2019 02.-Metodos
5/12
Programacin Orientada a Objetos en C# .NET
Ing. Bruno Lpez Takeas! ".C.ttp$%%&&&.itnue'o(aredo.edu.m)%Takeas 9
class Program
{
static void Main(string[] args)
{
Metodo(); // Se invoca (llamada)}
static voidMetodo( )
{
. . . // Codificacin
}
}
-
7/24/2019 02.-Metodos
6/12
Programacin Orientada a Objetos en C# .NET
Ing. Bruno Lpez Takeas! ".C.ttp$%%&&&.itnue'o(aredo.edu.m)%Takeas ;
L(amadas de procedimientos
==
class Program
{
static void Main(string[] args)
{
Procedimiento(); // Llamada
}
static void Procedimiento( )
{
Console.Write(Tec Laredo);
return();// Fin del Procedimiento
}
}
ElProcedimiento-4 devuelve
valor
=2
"4todos
-
7/24/2019 02.-Metodos
7/12
Programacin Orientada a Objetos en C# .NET
Ing. Bruno Lpez Takeas! ".C.ttp$%%&&&.itnue'o(aredo.edu.m)%Takeas >
Par=metros recibidos por (osm4todos
=3
Parmetros
Por valor 6 5e enva una copia del valor dela variable
Por referencia 6 5e enva la direccin de lavariable
En'?o de par=metros por 'a(or
=!
class Program
{
static void Main(string[] args)
{
int x=10;
Metodo( x ); // Se envia el valor de x
Console.Write(x=+x.ToString()); // x=10
}
static voidMetodo(int y)
{
y+=5;
Console.Write(y=+y.ToString()); // y=15
}
}
-
7/24/2019 02.-Metodos
8/12
Programacin Orientada a Objetos en C# .NET
Ing. Bruno Lpez Takeas! ".C.ttp$%%&&&.itnue'o(aredo.edu.m)%Takeas @
En'?o de par=metros por reAerencia
=
static void Main(string[] args)
{
int x = 10;
Metodo(ref x); // Se envia la referencia de x
Console.WriteLine("x=" + x); // x=15
Console.ReadKey();
}
static void Metodo(ref int y)
{
y += 5;
Console.WriteLine("\n\ny=" + y); // y=15
}
El *ipo de dato@ del mtodo -4 es void@"
(entro del mtodo debe Aaber una sentencia return@ con al:Bn valor deltipo de dato del mtodo"
Eemplo '&l declararlo)$public string ConsultarEstado()
{
return estado;
}
&l llamar al mtodo 'desde el pro:rama)$string estado_actual = miCarro.ConsultarEstado();
=8=8
"4todos
-
7/24/2019 02.-Metodos
9/12
Programacin Orientada a Objetos en C# .NET
Ing. Bruno Lpez Takeas! ".C.ttp$%%&&&.itnue'o(aredo.edu.m)%Takeas
Parmetro enviadoa la funcin
alor devuelto por laFuncin
L(amadas de m4todos
-
7/24/2019 02.-Metodos
10/12
Programacin Orientada a Objetos en C# .NET
Ing. Bruno Lpez Takeas! ".C.ttp$%%&&&.itnue'o(aredo.edu.m)%Takeas *
In'ocando m4todosclass Arbol
{
int Altura;
public void Podar( )
{
Console.WriteLine(Podando );
}
}
Arbol Pino = new Arbol(); // Se crea el objeto Pino
Pino.Podar(); //Se invoca el mtodo Podar() del
objeto Pino
=