<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Grundlagen :: Modul 320</title><link>https://m320.frickelbude.ch/grundlagen/index.html</link><description/><generator>Hugo</generator><language>de-ch</language><lastBuildDate>Thu, 10 Sep 2026 14:04:29 +0200</lastBuildDate><atom:link href="https://m320.frickelbude.ch/grundlagen/index.xml" rel="self" type="application/rss+xml"/><item><title>Programmierparadigmen</title><link>https://m320.frickelbude.ch/grundlagen/programmierparadigmen/index.html</link><pubDate>Thu, 20 Aug 2026 08:58:15 +0200</pubDate><guid>https://m320.frickelbude.ch/grundlagen/programmierparadigmen/index.html</guid><description>Ein Paradigma ist ein Denkmodell. Es beschreibt, wie man über eine bestimmte Sache nachdenkt. Auch beim Programmieren benötigt man ein bestimmtes Denkmodell. Programmierte man in den Anfängen der Informatik direkt mit Maschinenbefehlen, stehen uns heute höhere Programmiersprachen zur Verfügung.&#10;In der Softwareentwicklung haben sich vor allem die folgenden drei Paradigmen in der Praxis durchgesetzt:&#10;strukturierte Programmierung objektorientierte Programmierung funktionale Programmierung Die funktionale Programmierung wird im dritten Lehrjahr im Modul 323 behandelt und soll hier nicht weiter behandelt werden. Betrachten wir stattdessen das strukturierte Paradigma – und wie es vom objektorientierten Paradigma erweitert wird.</description></item><item><title>Vier Säulen der OOP</title><link>https://m320.frickelbude.ch/grundlagen/vier-saeulen-der-oop/index.html</link><pubDate>Thu, 20 Aug 2026 08:58:30 +0200</pubDate><guid>https://m320.frickelbude.ch/grundlagen/vier-saeulen-der-oop/index.html</guid><description>Die objektorientierte Programmierung zeichnet sich durch vier Merkmale aus, die oftmals als die vier Säulen der objektorientierten Programmierung bezeichnet werden:&#10;Diese vier Säulen sind (englische Übersetzung in Klammern):&#10;Kapselung (Encapsulation): Daten und Logik werden in einen gemeinsamen Gültigkeitsbereich zusammengenommen und zu einem neuen Datentyp kombiniert, der die einzelnen Bestandteile unter einem Ganzen kapselt. Abstraktion (Abstraction): Programmkonstrukte definieren Operationen auf einer höheren Bedeutungsebene, wodurch Zusammenhänge der realen Welt in einer klareren und präziseren Sprache ausgedrückt werden können. Vererbung (Inheritance): Neue Datentypen können die Funktionalität von bestehenden Datentypen übernehmen und dabei erweitern oder verändern. Bei der Vererbung erweitert ein neuer Datentyp einen bestehenden. Polymorphie (Polymorphism): Datentypen mit einer gemeinsamen Schnittstelle können spezifisches Verhalten definieren, wodurch sie sich einfacher austauschen lassen. Ein abstrakter Datentyp kann in verschiedenen Gestalten («Polymorphie» besteutet «Vielgestaltigkeit») als konkreter Datentyp umgesetzt werden. Diese vier Konzepte sollen durch konkrete Beispiele veranschaulicht werden:</description></item><item><title>TypeScript</title><link>https://m320.frickelbude.ch/grundlagen/typescript/index.html</link><pubDate>Thu, 27 Aug 2026 11:46:50 +0200</pubDate><guid>https://m320.frickelbude.ch/grundlagen/typescript/index.html</guid><description>Die Programmiersprache TypeScript ist eine Erweiterung der dynamisch typisierten Programmiersprache JavaScript um ein statisches Typsystem. Dynamisch typisierte Programmiersprachen sind flexibler, aber dafür auch fehleranfälliger als statisch typisierte Programmiersprachen.&#10;Kann man bei dynamisch typisierten Programmiersprachen den Code direkt durch einen Interpreter ausführen lassen, kommt bei statisch typisierten Programmiersprachen noch ein Kompilationsschritt hinzu. Dank Typinformationen kann der Compiler einige potenzielle Fehler bereits erkennen, bevor das Programm ausgeführt wird. Zudem helfen Typinformationen beim Verständnis des Programmcodes.</description></item><item><title>Klassen &amp; Objekte</title><link>https://m320.frickelbude.ch/grundlagen/klassen-objekte/index.html</link><pubDate>Thu, 03 Sep 2026 14:52:11 +0200</pubDate><guid>https://m320.frickelbude.ch/grundlagen/klassen-objekte/index.html</guid><description>In der objektorientierten Programmierung geht es um Objekte. Diese können in JavaScript direkt als sogenannte Objektliteralen erstellt werden. TypeScript ermöglicht es, die Typen dieser Objektliteralen genauer zu beschreiben. Mit diesem Mechanismus stösst man aber schnell an Grenzen, die mithilfe von Klassen überwunden werden können. Objekte lassen sich dann als Instanzen von Klassen erzeugen.&#10;Typen in JavaScript und in TypeScript JavaScript ist eine dynamisch typisierte Programmiersprache. Der Typ einer Variablen bzw. einer Konstanten lässt sich zur Laufzeit mit dem Operator typeof ermitteln:</description></item><item><title>Eigenschaften &amp; Methoden</title><link>https://m320.frickelbude.ch/grundlagen/eigenschaften-methoden/index.html</link><pubDate>Thu, 10 Sep 2026 14:04:29 +0200</pubDate><guid>https://m320.frickelbude.ch/grundlagen/eigenschaften-methoden/index.html</guid><description>Klassen bestehen aus Eigenschaften (Daten) und Methoden (Operationen). Mithilfe von Zugriffsmodifizierern kann Kapselung erreicht werden: der Zugriff auf die Eigenschaften wird eingeschränkt und über Methoden kontrolliert. Diese Einschränkungen sind entscheidend um Abstraktionen entwickeln zu können.&#10;Eigenschaften (Properties) Eine Eigenschaft wird mit einem Namen und einem Datentyp deklariert. Jede Eigenschaft sollte initialisiert werden. Optionale Eigenschaften werden mit dem Suffix ? deklariert und müssen nicht initialisiert werden. Dank Typinferenz muss der Datentyp nicht unbedingt angegeben werden, wenn ein Initialwert definiert ist. Für eine bessere Lesbarkeit empfiehlt es sich aber, jede Eigenschaft mit einer Typannotation zu versehen. Hierzu ein Beispiel:</description></item></channel></rss>