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 C# separados y hacer referencia a ellas en tu programa principal mediante 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}";
}
}
}Haz referencia al 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 instrucción using MyApp; te permite usar clases del espacio de nombres MyApp sin tener que calificarlas por completo. El espacio de nombres agrupa clases relacionadas. Dentro de un mismo proyecto, las clases son accesibles en todos los archivos de forma predeterminada; marcar una clase como public es lo que también permite acceder a ella desde otros proyectos (ensamblados).
Desafío
IntermedioSe te proporcionan archivos de C# (MyClass.cs y Program.cs); agrega una instrucción using en el archivo Program.cs para conectar los archivos y usar la clase del archivo externo.
Pruébalo tú mismo
// TODO: Reemplaza el ? por el espacio de nombres 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 estudiantesPractica por tu cuenta: Compilador de C# online