|
Nova objektoDo la tabelo da objektoj Rectangle en la antaŭa retprogramo ebligus produkti la 216 surklakeblajn rektangulojn de nia projekto. Ĝis nun, ili ĉiuj estas nigraj, por plisimpligi la programon, sed oni certe povas ilin desegni kun 216 malsamaj koloroj per la meĥanismo vidita en la paŝo 8 (bonega ideo por ekzerco !). Difini klasonObjekto, kiel vidite en la paŝo 10, estas pruduktita de strukturo nomata "klaso" : difini novan objekton estas deklari novan klason. Jen la maniero deklari klason :
class MiaObjekto
{ public int MiaAtributo;--- atributo de tipo "entjero" estas ĉi tie deklarita --- ĉi-sube, ruĝe : la konstruilo public MiaObjekto(int parametro1) { this.MiaAtributo = parametro1; } public int Adicii()--- metodo estas ĉi tie deklarita { return MiaAtributo + 2; } }
La ĉi-supra kodo difinas novan objekton de tipo "entjero". Tiu objekto havas unu atributon (MiaAtributo) kaj du metodojn.
Generi objektonGeneri objekton estas ekzistigi objekton laŭ la reguloj de ĝia konstruilo, kion ni jam faris kun la objektoj Rectangle en la antaŭaj paŝoj. Post kiam la objekto estas generita, oni povas uzi ĝiajn atributojn kaj metodojn. Jen la kodo de retprogramo, kiu uzas la klason MiaObjekto. Ĝi ricevas la entjeron 1 kiel parametron :
import java.awt.*;
public class VPMiaObjekto extends java.applet.Applet { MiaObjekto x = new MiaObjekto(1); int rezulto;--- atentu : deklaru la variablojn en la komenco String S; public void init() { rezulto = x.Adicii(); S = Integer.toString(rezulto);--- tiu metodo transformas la entjeron "rezulto" en signoĉenon : necesas por la ĉi-suba afiŝado } public void paint (Graphics g) { g.drawString(S, 10, 10);--- la metodo drawString, por la afiŝado, postulas signoĉenon kiel parametron } }
Kaj jen la atendita rezulto :
La uzpreta kodo de la klaso Por ke tiu retprogramo funkciu, vi devas unue traduki dosieron MiaObjekto.java (la klaso), poste la retprogramon mem, ĉ tie nomata VPMiaObjekto.java (Vokanta Programo, ankaŭ nomata "ĉefprogramo"). Vi ankaŭ povas verki la klason kaj la retprogramon en la sama dosiero, sed la tradukilo tamen fabrikos du dosierojn kun la sufikso .class. Tiu klaso MiaObjekto, kaj la retprogramo, kiu generas objekton x de tiu klaso, estas sen praktika utilo, sed eble helpis al vi kompreni la meĥanismon kaj la utilecon de la objektema programado. La venontaj paŝoj uzas tiun sistemon por aldoni la finan tuŝon al nia projekto. |
||
![]() |
![]() |