Projekt_SS25/Project_Periodensystem.Model/Elements.cs
2025-06-30 15:30:55 +02:00

89 lines
3.1 KiB
C#

namespace Project_Periodensystem.Model
{
/// <summary>
/// Repräsentiert ein chemisches Element im Periodensystem.
/// Zentrale Datenstruktur für alle Elementinformationen und -eigenschaften.
/// </summary>
public class Element
{
// ===== IDENTIFIKATIONS-EIGENSCHAFTEN =====
/// <summary>
/// Ordnungszahl (Protonenzahl) des Elements - eindeutige Identifikation (1-118)
/// </summary>
public int AtomicNumber { get; set; }
/// <summary>
/// Chemisches Symbol (z.B. H, C, Au) - kurze Bezeichnung (1-2 Buchstaben)
/// </summary>
public string Symbol { get; set; }
/// <summary>
/// Vollständiger wissenschaftlicher Name des Elements
/// </summary>
public string ElementName { get; set; }
// ===== PHYSIKALISCHE EIGENSCHAFTEN =====
/// <summary>
/// Relative Atommasse in atomaren Masseneinheiten (u)
/// </summary>
public double AtomicWeight { get; set; }
/// <summary>
/// Elektronegativität nach Pauling-Skala (0.7 bis 4.0)
/// </summary>
public double Electronegativity { get; set; }
/// <summary>
/// Dichte bei Standardbedingungen in g/cm³
/// </summary>
public double Density { get; set; }
// ===== KLASSIFIKATIONS-EIGENSCHAFTEN =====
/// <summary>
/// Chemische Serie/Gruppe für Klassifikation und UI-Farbkodierung
/// </summary>
public string Series { get; set; }
/// <summary>
/// Zeile (Periode) im Periodensystem (1-7)
/// </summary>
public int Row { get; set; }
/// <summary>
/// Spalte (Gruppe) im Periodensystem (1-18)
/// </summary>
public int Column { get; set; }
// ===== KONSTRUKTOR =====
/// <summary>
/// Konstruktor - erstellt Element-Objekt mit allen erforderlichen Eigenschaften
/// </summary>
/// <param name="atomicNumber">Ordnungszahl (1-118)</param>
/// <param name="symbol">Chemisches Symbol (z.B. "H", "Au")</param>
/// <param name="elementname">Vollständiger Elementname</param>
/// <param name="atomicWeight">Atommasse in u</param>
/// <param name="electronegativity">Elektronegativität (Pauling-Skala)</param>
/// <param name="density">Dichte in g/cm³</param>
/// <param name="series">Chemische Serie/Gruppe</param>
/// <param name="row">Periodensystem-Zeile</param>
/// <param name="column">Periodensystem-Spalte</param>
public Element(int atomicNumber, string symbol, string elementname, double atomicWeight,
double electronegativity, double density, string series, int row, int column)
{
AtomicNumber = atomicNumber;
Symbol = symbol;
ElementName = elementname;
AtomicWeight = atomicWeight;
Electronegativity = electronegativity;
Density = density;
Series = series;
Row = row;
Column = column;
}
}
}