Πέμπτη 27 Αυγούστου 2020

Συγκρότηση και Σύνθεση Αντικειμένων

Ένα αντικείμενο μπορεί να βρίσκεται ή περιέχεται σε ένα άλλο αντικείμενο, είτε μέσω ενός μέλους που καταχωρεί ένα ή περισσότερα αντικείμενα (όπως ενός πίνακα), και αυτό λέγεται συγκρότηση αντικειμένου, είτε ως μέλος (σύνθεση αντικειμένου).


Τμήμα ΔεςΑυτό {
      \\ Σχέση συγκρότηση - aggregation
      \\ σχέση ΤμήμαΕταιρείας με Εταιρεία τύπου συγκρότηση
      \\ Η Εταιρεία ξεκινάει χωρίς τμήματα και συγκροτεί ένα πίνακα δεικτών,
      \\ όπου θα μπουν δείκτες σε ομάδες τύπου ΤμήμαΕταιρείας
      Κλάση ΤμήμαΕταιρείας {
            Όνομα$="Όνομα Τμήματος"
            Διαγραφή {
                  Τύπωσε "Διαγραφή:";.Όνομα$
            }
      }
      Κλάση Εταιρεία {
            Πίνακας ΤμήματαΕταιρείας()
            Τμήμα ΝέοΤμήμα (Τ ως *ΤμήμαΕταιρείας) {
                  Πίνακας .ΤμήματαΕταιρείας(Μήκος(.ΤμήματαΕταιρείας())+1)
                  .ΤμήματαΕταιρείας(Μήκος(.ΤμήματαΕταιρείας())-1)=Τ
            }
            Τμήμα ΤμήματαΕταιρείας {
                  μ=Κάθε(.ΤμήματαΕταιρείας())
                  Ενώ μ {
                        δ=Πίνακας(μ)
                        Τύπωσε δ=>Όνομα$
                  }
            }
      }
      
      Ε1=Εταιρεία()
      Ε1.ΝέοΤμήμα Δείκτης(ΤμήμαΕταιρείας())
      Ε1.ΤμήματαΕταιρείας
      \\ με την έξοδο από το τμήμα, διαγράφεται ο πίνακας Ε1.ΤμήματαΕταιρείας
      \\ Κατά τη διαγραφή του πίνακα εκτελείται η Διαγραφή σε κάθε αντικείμενο,
      \\ εφόσον δεν υπάρχει άλλος δείκτης να δείχνει το ίδιο αντικείμενο
}
ΔεςΑυτό


Και ένα παράδειγμα για Σύνθεση Αντικειμένων:

Τμήμα ΔεςΑυτό {
      \\ Σχέση σύνθεση - composition
      Κλάση Πραγματικός {
            Π=0
      }
      Κλάση Μιγαδικός {
      Ιδιωτικό:
            Πραγματικός α
            Πραγματικός β
      Δημόσιο:
            Τμήμα Εμφάνισε {
                  Τύπωσε .α.Π, .β.Π
            }
      Κλάση:
            Τμήμα Μιγαδικός(α, β) {
                  .α.Π<=α
                  .β.Π<=β
            }
      }
      Μ1=Μιγαδικός(10, 5)
      Μ1.Εμφάνισε
}
ΔεςΑυτό


Δεν υπάρχουν σχόλια:

Δημοσίευση σχολίου

You can feel free to write any suggestion, or idea on the subject.