Archivos externos
Parte de la sección Programación Orientada a Objetos del Journey de C# de Coddy — lección 1 de 70.
Los archivos externos te permiten organizar tus clases en archivos de C# separados y hacer referencia a ellos en tu programa principal utilizando espacios de nombres.
Crea un archivo C# independiente llamado MyClass.cs
namespace MyApp
{
public class MyClass
{
public string Name { get; set; }
public MyClass(string name)
{
Name = name;
}
public string Greet()
{
return $"Hello, I'm {Name}";
}
}
}Referencia el espacio de nombres en tu archivo principal
using MyApp;Crea una instancia y úsala
MyClass obj = new MyClass("Alice");
Console.WriteLine(obj.Greet());Salida:
Hello, I'm AliceLa sentencia using MyApp; le permite utilizar clases del espacio de nombres MyApp sin calificarlas por completo. El espacio de nombres agrupa clases relacionadas. Dentro de un solo proyecto, las clases son accesibles entre archivos de forma predeterminada; marcar una clase como public es lo que la hace accesible también desde otros proyectos (ensamblados).
Desafío
IntermedioSe te proporcionan archivos de C# (MyClass.cs y Program.cs), ¡añade una sentencia using en el archivo Program.cs para conectar los archivos y usar la clase del archivo externo!
Pruébalo tú mismo
// TODO: Reemplaza el ? con el namespace correcto para usar MyClass
using ?;
using System;
class Program
{
static void Main()
{
string testCase = Console.ReadLine();
// Crea una instancia de MyClass y llama a GetMessage()
MyClass obj = new MyClass();
Console.WriteLine(obj.GetMessage());
}
}Esta lección incluye un breve cuestionario. Empieza la lección para responderlo y registrar tu progreso.
Todas las lecciones de Programación Orientada a Objetos
1Fundamentos de OOP
Archivos externosNamespaces y directivasIntro a clases y objetosLa palabra clave 'this'Métodos y parámetrosCampos vs PropiedadesConstructoresInicializadores de objetosResumen - Calculadora simple4Herencia
Sintaxis básica de herencia (:)La palabra clave 'base'Palabras clave Virtual y OverrideClases selladas (Sealed)La clase base 'object'Resumen: Jerarquía de empleados7Características avanzadas
Sobrecarga de operadoresIndexadores (this[])Sobrescritura de ToString()Métodos de extensiónResumen - Lista personalizada10Patrones de diseño - Parte 1
Introducción a los patrones de diseñoSingleton Thread-SafePatrón FactoryPatrón Observer (Eventos)Patrón Strategy2Propiedades y miembros estáticos
Propiedades autoimplementadasPropiedades de solo lectura y escrituraCampos y métodos estáticosClases estáticasMiembros con cuerpo de expresión5Polimorfismo e Interfaces
Polimorfismo: Compilación vs. EjecuciónInterfaz vs. Clase AbstractaInterfaces MúltiplesInterfaces ExplícitasUpcasting y DowncastingRepaso: Calculadora de Figuras8Conceptos avanzados de POO
Composición sobre herenciaGenéricos (clases y métodos)Delegados y eventosAtributos y ReflexiónIDisposable y la sentencia usingFundamentos de Inyección de dependencias11Patrones de diseño, parte 2
Patrón CommandPatrón AdapterPatrón DecoratorPatrón Template MethodPatrón StatePatrón Composite3Arquitectura de clases
Datos de instancia vs. estáticosPalabras clave 'readonly' y 'const'Campos de respaldoResumen - Gestor de cuentas bancarias6Encapsulamiento
Modificadores de accesoPropiedades para el encapsulamientoImplementación de ocultamiento de datosPatrones de inmutabilidadRepaso - Registros de estudiantes