⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 delphi03.htm

📁 Delphi - Programmierkurs.html
💻 HTM
字号:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
<html>

<head>
<title>Delphi und OOP</title>
<meta HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-1">
<meta name="Author" content="Mirko Pabst">
<meta name="Classification" content="Education, Bildung">
<meta name="Description" content="Delphi und OOP - Grundkurs Informatik am Lessing-Gymnasium Plauen">
<meta name="KeyWords" content="Delphi, OOP, Objekt, objektorientiert, Klassen, Vererbung, Eigenschaften, Methoden, Ereignisse, Grundkurs, Mirko, Pabst, Programmierung, Lessing, Unterricht, Schule">
</head>

<body TEXT="#000000" BGCOLOR="#FFFFFF" LINK="#0000EE" VLINK="#551A8B" ALINK="#FF0000" BACKGROUND="acrop_bk.gif">

<table CELLSPACING="0" CELLPADDING="0">
  <tr>
    <td valign="top" width="159"><img SRC="athena.gif" ALT="athena.gif (7242 Byte)" WIDTH="157" HEIGHT="140"></td>
    <td><div align="center"><center><table BORDER="1" BGCOLOR="#C0C0C0">
      <tr>
        <td ALIGN="LEFT" BGCOLOR="#EEEEEE"><img SRC="top.gif" WIDTH="593" HEIGHT="17"><br>
        <font SIZE="+2" COLOR="#FF0000"><b>&nbsp;3. Delphi und OOP</b></font></td>
      </tr>
      <tr>
        <td ALIGN="center" BGCOLOR="#EEEEEE" valign="middle"><a HREF="index.htm"><img SRC="i.gif" BORDER="0" WIDTH="73" HEIGHT="25"></a>&nbsp;&nbsp;<a HREF="delphi02.htm"><img SRC="l.gif" BORDER="0" HEIGHT="24" WIDTH="25"></a>&nbsp;&nbsp;<a HREF="dpue010.htm"><img SRC="r.gif" BORDER="0" WIDTH="25" HEIGHT="25"></a></td>
      </tr>
      <tr>
        <td BGCOLOR="#EEEEEE">&nbsp;<a HREF="#3.1.">3.1. Vorbemerkungen<br>
        </a>&nbsp;<a HREF="#3.2.">3.2. Klassen, Instanzen und Vererbung<br>
        </a>&nbsp;<a HREF="#3.3.">3.3. Objekteigenschaften, Ereignisse und Methoden</a></td>
      </tr>
    </table>
    </center></div></td>
  </tr>
</table>

<h2><a HREF="#3.2."><img SRC="ru.gif" BORDER="0" ALIGN="TEXTTOP" WIDTH="25" HEIGHT="25"></a><font COLOR="#FF0000">&nbsp;&nbsp;<a NAME="3.1."></a>3.1. Vorbemerkungen</font></h2>

<blockquote>
  <p>Die Komponentenstruktur von Delphi folgt weitgehend dem Konzept der Objektorientierten
  Programmierung (OOP). Eine umfassende Vermittlung der Begriffswelt, der Strukturen und
  Denkweisen der OOP w黵de den Rahmen eines Programmiergrundkurses beim derzeitigen
  Vorkenntnisstand der Sch黮er bei weitem sprengen und auch von den Intentionen des
  gegenw鋜tigen Lehrplanes wegf黨ren.</p>
  <p>Zum Einsteig in die visuelle Programmierung wird zun鋍hst auch kaum das Ziel vorhanden
  sein, eigene Komponenten zu programmieren; vielmehr wird die zielgerichtete <strong>Nutzung,
  Kombination und Modifikation <u>vorhandener</u> Komponenten, gepaart mit einfachen
  Probleml鰏ungsalgorithmen</strong> im Mittelpunkt des Interesses stehen. Einen Gro遲eil
  der Arbeit mit den Objekten, z.B. Klassendefinition und Instanzendeklaration, erledigt das
  Programmiersystem ohnehin automatisch im Hintergrund, w鋒rend der Programmierende im
  Vordergrund per Mausklick sein Formular zusammenbastelt.</p>
  <p>Aus diesem Grunde soll hier lediglich der Versuch stehen, mittels didaktischer
  Reduktion zu einer eher intuitiven, jedoch ausbauf鋒igen Sichtweise auf die OOP zu
  gelangen.</p>
  <p>Als Voraussetzung wird an dieser Stelle angenommen, dass die Sch黮er bereits einige
  praktische Erfahrungen beim visuellen Programmieren gesammelt haben, Komponenten
  ausw鋒len, platzieren und bestimmte Eigenschaften sowohl zur Entwurfszeit als auch zur
  Laufzeit des Programms zielgerichtet 鋘dern k鰊nen.</p>
</blockquote>

<hr>

<p><a HREF="#Anfang"><img SRC="ho.gif" BORDER="0" WIDTH="25" HEIGHT="24"> <font SIZE="-1">Seitenanfang</font></a></p>

<h2><a HREF="#3.3."><img SRC="ru.gif" BORDER="0" ALIGN="TEXTTOP" WIDTH="25" HEIGHT="25"></a><font COLOR="#FF0000">&nbsp;&nbsp;<a NAME="3.2."></a>3.2. Klassen, Instanzen und Vererbung</font></h2>

<blockquote>
  <p><font SIZE="+1" COLOR="#004000"><b>a) Begriffserkl鋜ungen</b></font></p>
  <blockquote>
    <table BORDER="1" CELLPADDING="5">
      <tr>
        <td valign="top" bgcolor="#D0FFFF"><b>Klasse:<br>
        </b>(Objekttyp)</td>
        <td valign="top" bgcolor="#FFFFD0">Aus einer Menge gleichartiger Objekte lassen sich deren
        typische Merkmale ableiten und daraus Vorschriften f黵 die Bildung neuer Objekte
        formulieren. <br>
        Eine solche Vorschrift wird in der OOP als Definition einer Klasse (eines Objekttyps)
        bezeichnet.<br>
        Hierbei werden Eigenschaften des Objekts (Erscheinungsbild, Datenfelder) sowie Methoden
        (Aktionen, die das Objekt ausf黨ren kann) beschrieben.</td>
      </tr>
      <tr>
        <td valign="top" bgcolor="#D0FFFF"><b>Instanz:<br>
        </b>(Objekt)</td>
        <td valign="top" bgcolor="#FFFFD0">... ist die auf Grundlage einer Klassendefinition
        erzeugte Struktur. Im Programm wird eine&nbsp; Instanz (ein Objekt) durch Deklaration
        einer Variablen eines bestimmten Objekttyps (einer Klasse) erzeugt.</td>
      </tr>
      <tr>
        <td valign="top" bgcolor="#D0FFFF"><b>Vererbung:</b></td>
        <td valign="top" bgcolor="#FFFFD0">Objekte (Nachkommen) k鰊nen andere Objekte (Vorfahren)
        beerben und erhalten dadurch deren Eigenschaften und Methoden. Die Eigenschaften und
        Methoden k鰊nen dabei erg鋘zt und/oder ver鋘dert werden.</td>
      </tr>
    </table>
  </blockquote>
</blockquote>

<blockquote>
  <p><b><font COLOR="#004000">&nbsp;<br>
  <font SIZE="+1">b) Verdeutlichung durch Beispiele</font></font></b></p>
  <blockquote>
    <table BORDER="1" CELLPADDING="5">
      <tr>
        <td bgcolor="#FFFFD0"><img SRC="form1.jpg" ALT="form1.jpg (28001 Byte)" HSPACE="4" ALIGN="LEFT" WIDTH="470" HEIGHT="166">In der Abbildung sehen wir links ein leeres Formularobjekt, wie es vom
        Delphi-System automatisch erzeugt wird. In seinem Erscheinungsbild und seiner
        Funktionalit鋞 sind bereits die typischen Merkmale eines Windows-Fensters enthalten. <p>In
        der zugeh鰎igen Unit ist unter type die Klasse TForm1 definiert, welche alle Merkmale
        ihres Vorfahren vom Typ TForm erbt.</p>
        <p>Unter var wird anschlie遝nd ein Objekt (eine Instanz) des Objekttyps (der Klasse)
        TForm1 deklariert. </p>
        <p>Das somit erzeugte Objekt verf黦t jedoch gegen黚er seinem Vorfahren 黚er keinerlei
        neue Eigenschaften oder Methoden. </td>
      </tr>
      <tr>
        <td bgcolor="#FFFFD0"><img SRC="form2.jpg" ALT="form2.jpg (40862 Byte)" WIDTH="671" HEIGHT="206"> <p>Aus der
        Komponentenpalette wurden per Mausklick in das Formular 2 ein Edit-Feld und ein Button
        platziert. Au遝rdem wurde 黚er den Objektinspektor eine Referenz f黵 das Ereignis
        Button1Click geschaffen - Voraussetzung daf黵, dass das Formularobjekt zur Laufzeit des
        Programms auf das Anklicken des Buttons reagieren kann. </p>
        <p>Die entsprechende Klassendefinition des Objekttyps sagt aus, dass TForm2 alle Merkmale
        von TForm (Windows-Fenster) erbt und diese durch Einbindung der Komponenten Edit1 und
        Button1 erg鋘zt werden. (Dabei erbt Edit1 wiederum alle Eigenschaften des vordefinierten
        Objekttyps TEdit und Button1 diejenigen von TButton.) <br>
        Als neue Methode enth鋖t TForm2 die Ereignisbehandlungsroutine Button1Click, deren
        Anweisungsfolge weiter unten im Implementationsteil zu programmieren ist.</p>
        <p>Schlie遧ich wird wieder unter var ein Objekt (eine Instanz) namens Form2 des
        Objekttyps (der Klasse) TForm2 deklariert. </td>
      </tr>
    </table>
  </blockquote>
</blockquote>

<p><a HREF="#Anfang"><img SRC="ho.gif" BORDER="0" WIDTH="25" HEIGHT="24"> <font SIZE="-1">Seitenanfang</font></a></p>

<h2><a NAME="1.1."></a><a HREF="#Ende"><img SRC="ru.gif" BORDER="0" ALIGN="TEXTTOP" WIDTH="25" HEIGHT="25"></a><font COLOR="#FF0000">&nbsp;&nbsp;<a NAME="3.3."></a>3.3. Objekteigenschaften, Ereignisse und
Methoden</font></h2>

<blockquote>
  <p><font SIZE="+1" COLOR="#004000"><b>a) Kernaussagen:</b></font></p>
  <blockquote>
    <table BORDER="1" CELLPADDING="5">
      <tr>
        <td bgcolor="#FFFFD0"><ol>
          <li><font SIZE="+0" COLOR="#0000FF">Delphi folgt mit seinem Konzept weitgehend dem Prinzip
            der objektorientierten Programmierung, wobei viele <b>Objekte</b> in ihrer Grundform
            bereits als <b>Komponenten</b> vorgegeben sind.<br>
            &nbsp; </font></li>
          <li><font SIZE="+0" COLOR="#0000FF"><b>Objekte</b> (Komponenten) besitzen bestimmte
            voreingestellte <b>Eigenschaften</b>, die zur Entwurfszeit oder zur Laufzeit des Programms
            ge鋘dert werden k鰊nen.<br>
            &nbsp; </font></li>
          <li><font SIZE="+0" COLOR="#0000FF"><b>Methoden</b> stellen die F鋒igkeit von <b>Objekten</b>
            dar, auf bestimmte <b>Ereignisse</b> zu reagieren (Ereignisbehandlungsroutinen).<br>
            &nbsp; </font></li>
          <li><font SIZE="+0" COLOR="#0000FF">L鰏t zur Laufzeit eines Programms ein <b>Ereignis</b>
            eine <b>Methode</b> aus, so ver鋘dert diese zielgerichtet bestimmte <b>Eigenschaften</b>
            von <b>Objekten</b>.</font></li>
        </ol>
        </td>
      </tr>
    </table>
  </blockquote>
  <p>&nbsp;</p>
  <p><font SIZE="+1" COLOR="#004000"><b>b) Verdeutlichung an einem Beispiel:</b></font></p>
  <blockquote>
    <p><font SIZE="+0">Das Formularobjekt &quot;Form1&quot; enthalte die Komponenten Button1
    und Edit1. <br>
    Tritt das Button-Click-Ereignis ein, soll die Eigenschaft Text von Edit1 neu belegt
    werden.</font></p>
    <table BORDER="1">
      <tr>
        <td><img SRC="oop1.jpg" ALT="oop1.jpg (32073 Byte)" WIDTH="600" HEIGHT="278"></td>
      </tr>
    </table>
  </blockquote>
  <p>&nbsp;</p>
</blockquote>

<p align="center"><a NAME="Ende"></a><a HREF="#Anfang"><img SRC="ho.gif" BORDER="0" WIDTH="25" HEIGHT="24"></a>&nbsp;&nbsp;<a HREF="index.htm"><img SRC="i.gif" BORDER="0" WIDTH="73" HEIGHT="25"></a>&nbsp;&nbsp;<a HREF="dpue010.htm"><img SRC="r.gif" BORDER="0" WIDTH="25" HEIGHT="25"></a></p>
</body>
</html>

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -