przeciążone konstruktory

0

w zwiazku z tym ze poprzedni post nie dał mi zadawalającej odpowiedzi - tym razem zajme się kostruktorami.

A więc mamy dwie klasy: objA i objB. Obydwie zawierają i obiekt klasy event.
Klasa event z kolei posiada dwa atrybut parent które mają wskazywać na rodzica (objA lub objB). Poniższy schemat przedstawia całą konstrukcję :-)
user image

Pytanie: Jak zaimplementowac konstruktor? Obiekt parent ma wskazywać na objA (w przypadku gdy wywołany jest konstruktor klasy OcjA) bądź na objB (gdy inicjowany jest obiekt ObjB)?
Problem: Konstruktor zawierajacy wpis this.my_event.parent = this; daje błąd Ambiguity between 'my_event.parent' and 'my_event.parent'

0

Od kiedy dwa pola różnych typów w jednej klasie mogą mieć takie same nazwy? Skąd biedny kompilator może wiedzieć o który z nich chodzi temu geniuszowi, który siedzi przed kompem? :|

0

Zle do tego podchodzisz.

Klasy mainObjA i mainObjB powinny miec wspolny interfejs, wowczas w evencie przekazujesz tylko jeden parametr - interfejs, czyli konkretna instancje klasy - wtedy nie ma juz znaczenia czy to klasa a czy b.
Tak samo trzymasz go wtedy w jednym polu :)
W klasie eventa obslugujesz juz tylko metody z Interfejsu.. gdyz rozumiem iz beda one takie same (jak np execute z obrazka).

Powodzenia :)

0

Kontynuując po Wasiu:
user image
Masz interfejs oraz dwie klasy realizujące go gdzie ich konstruktory to coś na zasadzie.

public ClassA(Event event)
{
    this.event = event;
    event.Parent = this;
}
0

no i swietne rozwiazanie :] pomoglo mi to bardzo
dzieki wasiu za podpowiedz - dzieki tobie nauczylem sie czym sa interface'y :]
a raVisowi dzieki za sugestie rozwiazania w kodzie :) - zaraz go przetestuje i opisze efekty

1 użytkowników online, w tym zalogowanych: 0, gości: 1