GEANT4. Leszek Adamczyk. Geometria detektora
|
|
- Nina Matysiak
- 6 lat temu
- Przeglądów:
Transkrypt
1 GEANT4 Leszek Adamczyk Geometria detektora
2 Geometria detektora Trzy poziomy definicji geometrii: G4VSolid kształt, rozmiar G4LogicalVolume materiał, wizualizacja, G4VPhysicalVolume położenie, orientacja G4VSolid G4LogicalVolume G4VPhysicalVolume G4Box G4Material G4VisAttributes G4PVPlacement G4Tubs G4VSensitiveDetector G4PVParameterised
3 Typowa strategia G4VSolid * solidworld = new G4Box( "World", //its name WorldSizeX/2,WorldSizeYZ/2,WorldSizeYZ/2); //its size G4LogicalVolume * logicworld = new G4LogicalVolume( solidworld, //its solid defaultmaterial, //its material "World"); //its name G4VPhysicalVolume * physiworld = new G4PVPlacement( 0, //no rotation G4ThreeVector(), //at (0,0,0) logicworld, //its logical volume "World", //its name 0, //its mother volume false, //no boolean operation 0); //copy number Każdy obszar jest umieszczany wewnątrz obszaru matki. Pozycja i orientacja obszaru określana jest względem lokalnego układu współrzędnych obszaru matki. Początek układu jest środkiem obszaru matki. Obszar nie może wystawać poza obszar matki
4 Hierarchia geometrii detektora
5 Hierarchia geometrii detektora Jeden obszar logiczny może być umieszczony więcej niż jeden raz Kilka obszarów może być umieszczonych w jednym obszarze logicznym Jeśli obszar matka jest umieszczony kilka razy to z definicji wszystkie obszary córki pojawią się w każdej kopii obszaru matki. Obszar world musi być jeden i zawierać całkowicie wszystkie pozostałe. Obszar world definiuje globalny układ współrzędnych Pozycje cząstek, depozytów energii podawane są względem globalnego układu współrzędnych
6 G4VUserDetectorConstruction Definicja:, materiałów, geometrii,... Należy wyprowadzić z abstrakcyjnej klasy G4VUserDetectorConstruction klasę pochodną Zaimplementować funkcję Construct() Opis klasy G4VUserDetectorConstruction (Software Reference Manual) Class Description: This is the abstract base class of the user's mandatory initialization class for detector setup. It has only one pure virtual method Construct() which is invoked by G4RunManager when it's Initialize() method is invoked. The Construct() method must return the G4VPhysicalVolume pointer which represents the world volume.
7 examplen03.: GNUmakefile examplen03.cc include src./include: ExN03DetectorConstruction.hh ExN03EventAction.hh ExN03PhysicsList.hh ExN03PrimaryGeneratorMessenger.hh ExN03SteppingAction.hh deklaracja klasy pochodnej ExN03DetectorMessenger.hh ExN03EventActionMessenger.hh ExN03PrimaryGeneratorAction.hh ExN03RunAction.hh ExN03SteppingVerbose.hh definicja klasy pochodnej./src: ExN03DetectorConstruction.cc ExN03EventAction.cc ExN03PhysicsList.cc ExN03PrimaryGeneratorMessenger.cc ExN03SteppingAction.cc ExN03DetectorMessenger.cc ExN03EventActionMessenger.cc ExN03PrimaryGeneratorAction.cc ExN03RunAction.cc ExN03SteppingVerbose.cc
8 examplen03.cc // Set mandatory initialization classes // ExN03DetectorConstruction* detector = new ExN03DetectorConstruction; runmanager->setuserinitialization(detector); // // Initialize G4 kernel // runmanager->initialize(); Wywołanie konstruktora klasy ExN03DetectorConstruction ExN03DetectorConstruction::ExN03DetectorConstruction {...} Wywołanie funkcji ExN03DetectorConstruction::Construct {...} Materiały, geometria mogą być zdefiniowane w dowolnej z powyższych funkcji (lub innej funkcji wywoływanej przez powyższe dwie). Musimy jednak zapewnić aby funkcja Construct wzracała wskaźnik do obszaru fizycznego world. Ten obiekt reprezentuje cały nasz detektor
9 ExN03DetectorConstruction.hh #ifndef ExN03DetectorConstruction_h #define ExN03DetectorConstruction_h 1 #include "G4VUserDetectorConstruction.hh class ExN03DetectorConstruction : public G4VUserDetectorConstruction { public: ExN03DetectorConstruction(); //konstruktor ~ExN03DetectorConstruction(); //destruktor G4VPhysicalVolume * Construct(); //funkcja Construct public: inne funkcje lub dane publiczne (jeśli potrzebne) private: inne funkcje lub dane prywatne (jeśli potrzebne) void DefineMaterials(); }; #endif G4VPhysicalVolume* ConstructCalorimeter(); // meteriały // geometria
10 ExN03DetectorConstruction.cc #include "ExN03DetectorConstruction.hh"... ExN03DetectorConstruction::ExN03DetectorConstruction():Lista inicjalizacji {... DefineMaterials();... } ExN03DetectorConstruction::~ExN03DetectorConstruction() {...} G4VPhysicalVolume* ExN03DetectorConstruction::Construct() {return ConstructCalorimeter();}... void ExN03DetectorConstruction::DefineMaterials() {... // definicje materiałów } G4VPhysicalVolume* ExN03DetectorConstruction::ConstructCalorimeter() {...// definicja geometrii detektora }......
11 Bryły Wszystkie bryły w GEANT4 są wyprowadzone z abstrakcyjnej klasy bazowej G4VSolid. Klasa ta deklaruje (ale nie implementuje) wszystkie funkcje potrzebne do: Obliczenia odległości bryły od dowolnego punktu Obliczenie wektora normalnego do powierzchni bryły w dowolnym punkcie Sprawdzenia czy dany punkt znajduje się wewnątrz bryły Obliczenia objętości, pola powierzchni,... Użytkownik może zdefiniować swoją własną klasę
12 Bryły elementarne Prostopadłościan G4Box(const G4String& pname, // name G4double px, // half length in X G4double py, // half length in Y G4double pz) // half length in Z Wycinek powłoki cylindrycznej G4Tubs(const G4String& pname, // name G4double prmin, // inner radius G4double prmax, // outer radius G4double pdz, // half length in Z G4double psphi, // the starting phi angle G4double pdphi) // the angle of the segment
13 Inne bryły elementarne G4Cons powłoka stożkowa G4Orb pełna sfera G4Para graniastosłup G4Sphere powłoka sferyczna Opis wszystkich brył Rozdział Przewodnika dla twórców aplikacji G4Torus torus G4Trap ostrosłup G4Trd ostrosłup foremny
14 Bryły specjalne Wielostożek G4Polycone(const G4String& pname, // name G4double phistart, // starting phi angle G4double phitotal, // total phi angle G4int numrz, // number of corners in R-Z space const G4double r[], // r coordinate of corners const G4double z[]) // z coordinate of corners
15 Inne bryły specjalne G4Polyhedra G4Ellipsoid G4TwistedTrap G4EllipticalTube Opis wszystkich brył Rozdział Przewodnika dla twórców aplikacji G4Paraboloid G4Hype G4TwistedBox
16 Bryły reprezentowane przez ich granice Można zdefiniować bryłę podając wszystkie płaszczyzny które ją ograniczają Płaszczyzny mogą być płaskie, zakrzywione, płaty Beziera
17 Bryły powstałe z operacji logicznych Dwie bryły mogą być łączone za pomocą operacji logicznych: G4UnionSolid, G4SubtractionSolid, G4IntersectionSolid - druga bryła pozycjonowana jest względem lokalnego układu współrzędnych pierwszej Union Subtraction Intersection
18 Bryły powstałe z operacji logicznych przykład G4Box* box = new G4Box("Box",20*mm,30*mm,40*mm); G4Tubs* cyl = new G4Tubs("Cylinder",0,50*mm,50*mm,0,twopi); // r: G4UnionSolid* union = new G4UnionSolid("Box+Cylinder", box, cyl); G4IntersectionSolid* intersection = new G4IntersectionSolid("Box*Cylinder", box, cyl); G4SubtractionSolid* subtraction = new G4SubtractionSolid("Box-Cylinder", box, cyl); 0 mm -> 50 mm // z: -50 mm -> 50 mm // phi: 0 -> 2 pi Lokalny układ współrzędnych powstałej bryły jest taki sam jak pierwszej bryły
19 Obszar logiczny G4LogicalVolume( G4VSolid* psolid, G4Material* pmaterial, const G4String& Name, G4FieldManager* pfieldmgr=0, G4VSensitiveDetector* psdetector=0, G4UserLimits* pulimits=0) Obszar logiczny posiada pełną informację o obszarze oprócz jego położenia i orientacji: kształt, rozmiar, materiał, pole magnetyczne, atrybut obszaru czułego detektora, atrybuty wizualizacji, warunki produkcji cząstek, pozycje i orientacje obszarów córek.
20 Objętość i ciężar obszaru logicznego Objętość bryły można obliczyć za pomocą funkcji składowej G4VSolid::GetCubicVolume() Dla większości elementarnych brył objętość jest obliczana analitycznie dla pozostałych metodą Monte Carlo Ciężar obszaru logicznego można obliczyć przy użyciu funkcji składowej: G4LogicalVolume::GetMass()
21 Obszar fizyczny Obszary fizyczne dzielimy na: - jednokrotny : obszar umieszczony jednokrotnie jeden fizyczny obszar = jeden obszar rzeczywisty - wielokrotny : obszar umieszczany wielokrotnie jeden fizyczny obszar = wiele obszarów rzeczywistych Obszary wielokrotne ze względu na sposób repetycji dzielimy na: - parametryzowane w funkcji numeru kopii - powielane wzdłuż jednej osi Obszar matka może zawierać: - albo wiele obszarów jednokrotnych - albo jeden obszar wielokrotny
22 Obszar fizyczny (przegląd) G4PVPlacement reprezentuje obszar jednokrotny G4PVParameterised reprezentuje obszar wielokrotny parametryzowany numerem kopii - kształt, rozmiar, materiał,... mogą być parametryzowane numerem kopii - powielane obszary mogą zawierać w sobie obszary wnuczki o ile wnuczki mają identyczne rozmiary i kształty - wymaga implementacji klasy G4PVParameterisation
23 Obszar fizyczny (przegląd) G4PVReplica (obszar wielokrotny) obszary córki mające ten sam kształt ustawiane są wzdłuż jednej osi i wypełniają cały obszar matki bez żadnych przerw G4PVDivision (obszar wielokrotny) tak jak G4PVReplica ale dopuszcza istnienie przerwy między brzegiem obszaru matki a najbardziej zewnętrznymi córkami, brak przerw między córkami G4ReflectionFactory (para obszarów) umożliwia umieszczenie obszaru i jego odbicia G4AssemblyVolume (wiele obszarów) umożliwia umieszczenie jednokrotnych obszarów połączonych w grupę
24 G4PVPlacement G4PVPlacement( G4RotationMatrix* prot, // obrót układu matki const G4ThreeVector& tlate, // pozycja w obróconym układzie G4LogicalVolume* pcurrentlogical, const G4String& pname, G4LogicalVolume* pmotherlogical, G4bool pmany, // false G4int pcopyno, // dowolna unikalna liczba całk. G4bool psurfchk=false ) Mother volume rotation translation in rotated frame
25 G4PVPlacement - II Tra = G4Transform3D ( G4RotationMatrix &prot //obrót układu córki const G4ThreeVector &tlate) // pozycja w układzie matki G4PVPlacement( G4Transform3D Tra, // transformacja córki G4LogicalVolume* pcurrentlogical,... Mother Mother volume volume rotatio n translation in mother frame
26 G4PVPlacement przykład examplen03 physicalor = new G4PVPlacement( 0, //no rotation G4ThreeVector(0,0,0),//at (0,0,0) logiccalor, //its logical volume "Calorimeter", //its name logicworld, //its mother volume false, //no boolean operation 0); //copy number
27 G4PVParameterised G4PVParameterised( const G4String& pname, G4LogicalVolume* pdlogical, G4LogicalVolume* pmlogical, const EAxis paxis, const G4int n, G4VPVParameterisation* pparam, G4bool psurfchk=false ) Umieszcza obszar (pdlogical), n razy używając parametryzacji (pparam) wewnątrz obszaru matki (pmlogical) paxis sugeruje wzdłuż której osi będą powielane obszary (kxaxis, kyaxis, kzaxis, kundefined)
28 G4PVParameterised Użytkownik musi zaimplementować klasę wyprowadzoną z klasy G4VPVParameterisation oraz zdefiniować następujące wielkości w funkcji numeru kopii: - położenie i orientacje ComputeTransformation - opcjonalnie rozmiar ComputeDimensions kształt ComputeSolid materiał ComputeMaterial Wszystkie kopie muszą zawierać się w obszarze matki i nie nachodzić na siebie
29 G4PVParameterised: przykład examplen02 Tarcza + układ 5 komór śladowych o rosnących rozmiarach poprzecznych
30 ExN02DetectorConstruction.cc solidchamber = new G4Box("chamber", 100*cm, 100*cm, 10*cm); logicchamber = new G4LogicalVolume(solidChamber,ChamberMater,"Chamber",0,0,0); chamberparam = new ExN02ChamberParameterisation( NbOfChambers, // NoChambers firstposition, // Z of center of first ChamberSpacing, // Z spacing of centers ChamberWidth, // Width Chamber firstlength, // lengthinitial lastlength); // lengthfinal physichamber = new G4PVParameterised( "Chamber", // their name logicchamber, // their logical volume LogicTracker, // Mother logical volume kzaxis, // Are placed along this axis NbOfChambers, // Number of chambers chamberparam); // The parametrisation
31 ExN02ChamberParameterisation.hh... class ExN02ChamberParameterisation : public G4VPVParameterisation { public: ExN02ChamberParameterisation(G4int NoChambers, G4double startz, G4double spacing, G4double widthchamber, G4double lengthinitial, G4double lengthfinal ); virtual ~ExN02ChamberParameterisation(); void ComputeTransformation (const G4int copyno, G4VPhysicalVolume* physvol) const; void ComputeDimensions (G4Box & trackerlayer, const G4int copyno, const G4VPhysicalVolume* physvol) const;...};
32 ExN02ChamberParameterisation.cc... ExN02ChamberParameterisation::ExN02ChamberParameterisation( G4int NoChambers, G4double startz, // Z of center of first G4double spacingz, // Z spacing of centers G4double widthchamber, G4double lengthinitial, G4double lengthfinal ) { fnochambers = NoChambers; fstartz = startz; fhalfwidth = widthchamber*0.5; fspacing = spacingz; fhalflengthfirst = 0.5 * lengthinitial;... }
33 ExN02ChamberParameterisation.cc void ExN02ChamberParameterisation::ComputeTransformation (const G4int copyno, G4VPhysicalVolume* physvol) const { G4double Zposition= fstartz + (copyno+1) * fspacing; G4ThreeVector origin(0,0,zposition); physvol->settranslation(origin); physvol->setrotation(0); } void ExN02ChamberParameterisation::ComputeDimensions (G4Box& trackerchamber, const G4int copyno, const G4VPhysicalVolume*) const { G4double halflength= fhalflengthfirst + copyno * fhalflengthincr; trackerchamber.setxhalflength(halflength); trackerchamber.setyhalflength(halflength); trackerchamber.setzhalflength(fhalfwidth); }
34 G4PVReplica Obszar matki musi być całkowicie wypełniony kopiami o takich samych rozmiarach (szerokościach) i kształtach Powielanie może się odbywać wzdłuż: - osi układu kartezjańskiego (X,Y,Z), powielane plastry są prostopadłe do tej osi a lokalny układ współrzędnych związany jest ze środkiem plastra - osi radialnej (R), powielane wycinki stożka/cylindra są współosiowe i nieobrócone a układy współrzędnych kopii są takie same jak obszaru matki - osi kąta azymutalnego (Phi), powielane wycinki stożka /cylindra są współosiowe i obracane o stały kąt a lokalny układ współrzędnych kopii jest obrócony względem układu matki w taki sposób, że oś X dzieli na pół każdy klin
35 G4PVReplica G4PVReplica( const G4String& pname, G4LogicalVolume* pcurrentlogical, G4LogicalVolume* pmotherlogical, const EAxis paxis, const G4int nreplicas, const G4double width, const G4double offset=0 ) - Obszar matka może sam być klasy G4PVReplica - Obszar klasy G4Placement może znajdować się w powielanym obszarze o ile powielanie nie następuje wzdłuż osi radialnej -Obszar klasy G4Parameterised nie może znajdować się w powielanym obszarze
36 G4PVReplica paxis, width, offset Osie kartezjańskie paxis=kxaxis (YZ) offset musi mieć wartość 0 Oś radialna paxis=kraxis offset musi być równy wewnętrznemu promieniowi obszaru matki Oś kąta azymutalnego paxis=kphi offset musi być równy początkowemu kątowi obszaru matki width width offset width offset
37 G4PVReplica przykład ExN03DetectorConstruction.cc solidlayer = new G4Box("Layer", //its name LayerThickness/2,CalorSizeYZ/2,CalorSizeYZ/2); //size logiclayer = new G4LogicalVolume(solidLayer, //its solid defaultmaterial, //its material "Layer"); //its name width physilayer = new G4PVReplica("Layer", //its name logiclayer, //its logical volume logiccalor, //its mother kxaxis, //axis of replication NbOfLayers, //number of replica LayerThickness); //witdth of replica physiabsorber = new G4PVPlacement(0, //no rotation G4ThreeVector(-GapThickness/2,0.,0.), //its position logicabsorber, //its logical volume AbsorberMaterial->GetName(), //its name logiclayer, //its mother offset false, //no boulean operat 0); //copy number
Środowisko programistyczne GEANT4
Środowisko programistyczne GEANT4 Leszek Adamczyk Wydział Fizyki i Informatyki Stosowanej Akademia Górniczo-Hutnicza Wykłady w semestrze zimowym 2013/2014 Geometria: G4VUserDetectorConstruction Definicje
GEANT4. Leszek Adamczyk. Interfejs użytkownika -2 Geometria -2
GEANT4 Leszek Adamczyk Interfejs użytkownika -2 Geometria -2 Polecenia interfejsu użytkownika UI kurier (G4UIMessenger) Obiekt Polecenia (target class) G4UIManager polecenie (G4UICommand) parametr (G4UIparameter)
Środowisko programistyczne GEANT4
Środowisko programistyczne GEANT4 Leszek Adamczyk Wydział Fizyki i Informatyki Stosowanej Akademia Górniczo-Hutnicza Wykłady w semestrze zimowym 2013/2014 G4VHit - przykład Przykład z warsztatów implementacji
GEANT4. Leszek Adamczyk. Przykład budowy aplikacji Interfejs użytkownika Wizualizacje
GEANT4 Leszek Adamczyk Przykład budowy aplikacji Interfejs użytkownika Wizualizacje Ćwiczenie 1 Proszę zalogować się na serwer fatcat ssh @fatcat.ftj.agh.edu.pl Ustawić zmienne środowiskowe cd
Środowisko programistyczne GEANT4
Środowisko programistyczne GEANT4 Leszek Adamczyk Wydział Fizyki i Informatyki Stosowanej Akademia Górniczo-Hutnicza Wykłady w semestrze zimowym 2015/2016 Wyniki symulacji Majac zdefiniowaną: geometrię;
Środowisko programistyczne GEANT4
Środowisko programistyczne GEANT4 Leszek Adamczyk Wydział Fizyki i Informatyki Stosowanej Akademia Górniczo-Hutnicza Wykłady w semestrze zimowym 2015/2016 Analiza danych GEANT 4 nie ma rozbudowanego systemu
Środowisko programistyczne GEANT4
Środowisko programistyczne GEANT4 Leszek Adamczyk Wydział Fizyki i Informatyki Stosowanej Akademia Górniczo-Hutnicza Wykłady w semestrze zimowym 2013/2014 GEANT4: Symulacje przejścia czastek przez materię
Środowisko programistyczne GEANT4
Środowisko programistyczne GEANT4 Leszek Adamczyk Wydział Fizyki i Informatyki Stosowanej Akademia Górniczo-Hutnicza Wykłady w semestrze zimowym 2013/2014 Generacja czastek pierwotnych Użytkownik musi
PARADYGMATY PROGRAMOWANIA Wykład 4
PARADYGMATY PROGRAMOWANIA Wykład 4 Metody wirtualne i polimorfizm Metoda wirualna - metoda używana w identyczny sposób w całej hierarchii klas. Wybór funkcji, którą należy wykonać po wywołaniu metody wirtualnej
BRYŁY PODSTAWOWE I OBIEKTY ELEMENTARNE
Przemysław KLOC, Krzysztof KUBISTA BRYŁY PODSTAWOWE I OBIEKTY ELEMENTARNE Streszczenie: Niniejszy rozdział dotyczy wykorzystania brył podstawowych i obiektów elementarnych podczas modelowania 3D. Napisany
Zaawansowane programowanie w C++ (PCP)
Zaawansowane programowanie w C++ (PCP) Wykład 6 - szablony. dr inż. Robert Nowak - p. 1/15 Kolekcje i algorytmy» Deklaracja szablonu y Pojęcia niezależne od typu: kolekcje (np. listy) algorytmy (np. znajdowania
Mechanizm dziedziczenia
Mechanizm dziedziczenia Programowanie obiektowe jako realizacja koncepcji ponownego wykorzystania kodu Jak przebiega proces dziedziczenia? Weryfikacja formalna poprawności dziedziczenia Realizacja dziedziczenia
PHP 5 język obiektowy
PHP 5 język obiektowy Wprowadzenie Klasa w PHP jest traktowana jak zbiór, rodzaj różnych typów danych. Stanowi przepis jak stworzyć konkretne obiekty (instancje klasy), jest definicją obiektów. Klasa reprezentuje
Języki i techniki programowania Ćwiczenia 3 Dziedziczenie
Języki i techniki programowania Ćwiczenia 3 Dziedziczenie Klasa abstrakcyjna Autor: Marcin Orchel Klasa abstrakcyjna to taka, że nie możemy tworzyć obiektów tej klasy, możemy jednak dziedziczyć po tej
Wykład 4: Klasy i Metody
Wykład 4: Klasy i Metody Klasa Podstawa języka. Każde pojęcie które chcemy opisać w języku musi być zawarte w definicji klasy. Klasa definiuje nowy typ danych, których wartościami są obiekty: klasa to
Wykład 2 Układ współrzędnych, system i układ odniesienia
Wykład 2 Układ współrzędnych, system i układ odniesienia Prof. dr hab. Adam Łyszkowicz Katedra Geodezji Szczegółowej UWM w Olsztynie adaml@uwm.edu.pl Heweliusza 12, pokój 04 Spis treści Układ współrzędnych
Dokumentacja do API Javy.
Dokumentacja do API Javy http://java.sun.com/j2se/1.5.0/docs/api/ Klasy i obiekty Klasa jest to struktura zawierająca dane (pola), oraz funkcje operujące na tych danych (metody). Klasa jest rodzajem szablonu
Język C++ zajęcia nr 2
Język C++ zajęcia nr 2 Inicjalizacja Definiowanie obiektu może być połączone z nadaniem mu wartości początkowej za pomocą inicjalizatora, który umieszczany jest po deklaratorze obiektu. W języku C++ inicjalizator
Programowanie komputerowe. Zajęcia 7
Programowanie komputerowe Zajęcia 7 Klasy Klasy to typy danych, które pozwalają na zgromadzenie w jednej zmiennej (obiekcie) zarówno danych jak i operacji związanych z tymi danymi. Obiekt danej klasy może
1. Które składowe klasa posiada zawsze, niezależnie od tego czy je zdefiniujemy, czy nie?
1. Które składowe klasa posiada zawsze, niezależnie od tego czy je zdefiniujemy, czy nie? a) konstruktor b) referencje c) destruktor d) typy 2. Które z poniższych wyrażeń są poprawne dla klasy o nazwie
Kurs programowania. Wykład 2. Wojciech Macyna. 17 marca 2016
Wykład 2 17 marca 2016 Dziedziczenie Klasy bazowe i potomne Dziedziczenie jest łatwym sposobem rozwijania oprogramowania. Majac klasę bazowa możemy ja uszczegółowić (dodać nowe pola i metody) nie przepisujac
Techniki programowania INP001002Wl rok akademicki 2018/19 semestr letni. Wykład 4. Karol Tarnowski A-1 p.
Techniki programowania INP001002Wl rok akademicki 2018/19 semestr letni Wykład 4 Karol Tarnowski karol.tarnowski@pwr.edu.pl A-1 p. 411B Plan prezentacji Przeciążanie operatorów Funkcje zaprzyjaźnione Na
Programowanie w C++ Wykład 12. Katarzyna Grzelak. 28 maja K.Grzelak (Wykład 12) Programowanie w C++ 1 / 27
Programowanie w C++ Wykład 12 Katarzyna Grzelak 28 maja 2018 K.Grzelak (Wykład 12) Programowanie w C++ 1 / 27 Klasy cd K.Grzelak (Wykład 12) Programowanie w C++ 2 / 27 Klasy - powtórzenie Klasy typy definiowane
PARADYGMATY PROGRAMOWANIA Wykład 2
PARADYGMATY PROGRAMOWANIA Wykład 2 Definiowanie klas w C++ - ciąg dalszy Lista inicjalizująca konstruktora Przeznaczenie - do inicjalizacji pól klasy z kwalifikatorem const i inicjalizacji obiektów składowych
Techniki programowania INP001002Wl rok akademicki 2018/19 semestr letni. Wykład 3. Karol Tarnowski A-1 p.
Techniki programowania INP001002Wl rok akademicki 2018/19 semestr letni Wykład 3 Karol Tarnowski karol.tarnowski@pwr.edu.pl A-1 p. 411B Plan prezentacji Abstrakcja funkcyjna Struktury Klasy hermetyzacja
Klasy abstrakcyjne, interfejsy i polimorfizm
Programowanie obiektowe 12 kwietnia 2011 Organizacyjne Klasówka będzie 20 IV 2011. Sale jeszcze są pertraktowane. Materiał do wyjątków włącznie. Można mieć swoje materiały nieelektroniczne. Wywołanie z
Programowanie w C++ Wykład 11. Katarzyna Grzelak. 13 maja K.Grzelak (Wykład 11) Programowanie w C++ 1 / 30
Programowanie w C++ Wykład 11 Katarzyna Grzelak 13 maja 2019 K.Grzelak (Wykład 11) Programowanie w C++ 1 / 30 Klasy cd K.Grzelak (Wykład 11) Programowanie w C++ 2 / 30 Klasy - powtórzenie Klasy typy definiowane
JAVA W SUPER EXPRESOWEJ PIGUŁCE
JAVA W SUPER EXPRESOWEJ PIGUŁCE Obiekt Obiekty programowe to zbiór własności i zachowań (zmiennych i metod). Podobnie jak w świecie rzeczywistym obiekty posiadają swój stan i zachowanie. Komunikat Wszystkie
TEMAT : KLASY DZIEDZICZENIE
TEMAT : KLASY DZIEDZICZENIE Wprowadzenie do dziedziczenia w języku C++ Język C++ możliwa tworzenie nowej klasy (nazywanej klasą pochodną) w oparciu o pewną wcześniej zdefiniowaną klasę (nazywaną klasą
Rozdział 4 KLASY, OBIEKTY, METODY
Rozdział 4 KLASY, OBIEKTY, METODY Java jest językiem w pełni zorientowanym obiektowo. Wszystkie elementy opisujące dane, za wyjątkiem zmiennych prostych są obiektami. Sam program też jest obiektem pewnej
Układy współrzędnych
Układy współrzędnych Układ współrzędnych matematycznie - funkcja przypisująca każdemu punktowi danej przestrzeni skończony ciąg (krotkę) liczb rzeczywistych zwanych współrzędnymi punktu. Układ współrzędnych
Materiały do zajęć VII
Spis treści I. Klasy Materiały do zajęć VII II. III. Konstruktor Właściwości i indeksatory Klasy Programowanie obiektowe wiadomości wstępne Paradygmat programowania obiektowego Abstrakcja Hermetyzacja
Wykład 5: Więcej o Klasach i Metodach
Wykład 5: Więcej o Klasach i Metodach Przeciążanie Metod Klasa posiada dwie lub więcej metod o tej samej nazwie ale różnych deklaracjach parametrów. Java używa liczby i typów argumentów by ustalić którą
Wstęp do Programowania 2
Wstęp do Programowania 2 dr Bożena Woźna-Szcześniak bwozna@gmail.com Akademia im. Jana Długosza Wykład 5 W programowaniu obiektowym programista koncentruje się na obiektach. Zadaje sobie pytania typu:
Zaawansowane programowanie w C++ (PCP)
Zaawansowane programowanie w C++ (PCP) Wykład 4 - wzorce projektowe. dr inż. Robert Nowak - p. 1/18 Powtórzenie klasy autonomiczne tworzenie nowych typów: dziedziczenie i agregacja dziedziczenie: przedefiniowywanie
Programowanie 2. Język C++. Wykład 9.
9.1 Ukrywanie metod, metody nadpisane... 1 9.2 Metody wirtualne, wirtualny destruktor... 2 9.3 Metody czysto wirtualne... 6 9.4 Klasy abstrakcyjne... 7 9.5 Wielodziedziczenie... 9 9.1 Ukrywanie metod,
Operator przypisania. Jest czym innym niż konstruktor kopiujący!
Operator przypisania Jest czym innym niż konstruktor kopiujący! Domyślnie jest zdefiniowany jako przypisanie składowa po składowej (zatem niekoniecznie bajt po bajcie). Dla klasy X definiuje się jako X&
WYMAGANIA Z WIEDZY I UMIEJĘTNOŚCI NA POSZCZEGÓLNE STOPNIE SZKOLNE DLA KLASY CZWARTEJ H. zakres rozszerzony. Wiadomości i umiejętności
WYMAGANIA Z WIEDZY I UMIEJĘTNOŚCI NA POSZCZEGÓLNE STOPNIE SZKOLNE DLA KLASY CZWARTEJ H. zakres rozszerzony Funkcja wykładnicza i funkcja logarytmiczna. Stopień Wiadomości i umiejętności -definiować potęgę
Język C++ wykład VII. uzupełnienie notatek: dr Jerzy Białkowski. Programowanie C/C++ Język C++ wykład VII. dr Jarosław Mederski. Spis.
Programowanie uzupełnienie notatek: dr Jerzy Białkowski 1 2 3 4 Obiektowość języka C++ ˆ Klasa (rozszerzenie struktury), obiekt instancją klasy, konstruktory i destruktory ˆ Enkapsulacja - kapsułkowanie,
Marcin Luckner Politechnika Warszawska Wydział Matematyki i Nauk Informacyjnych
Marcin Luckner Politechnika Warszawska Wydział Matematyki i Nauk Informacyjnych mluckner@mini.pw.edu.pl http://www.mini.pw.edu.pl/~lucknerm Programy w Javie składają się z pakietów Pakiety zawierają definicje
METODY MATEMATYCZNE I STATYSTYCZNE W INŻYNIERII CHEMICZNEJ
METODY MATEMATYCZNE I STATYSTYCZNE W INŻYNIERII CHEMICZNEJ Wykład 3 Elementy analizy pól skalarnych, wektorowych i tensorowych Prof. Antoni Kozioł, Wydział Chemiczny Politechniki Wrocławskiej 1 Analiza
PROGRAMOWANIE OBIEKTOWE W C++ cz. 2. Dziedziczenie, operacje wej cia-wyj cia, przeładowanie operatorów.
PROGRAMOWANIE OBIEKTOWE W C++ cz. 2 Dziedziczenie, operacje wej cia-wyj cia, przeładowanie operatorów. Dziedziczenie Dziedziczenie jest to technika pozwalaj c na definiowanie nowej klasy przy wykorzystaniu
Mechanizm dziedziczenia
Mechanizm dziedziczenia Programowanie obiektowe jako realizacja koncepcji ponownego wykorzystania kodu Jak przebiega proces dziedziczenia? Weryfikacja formalna poprawności dziedziczenia Realizacja dziedziczenia
Wstęp do programowania obiektowego. WYKŁAD 3 Dziedziczenie Pola i funkcje statyczne Funkcje zaprzyjaźnione, this
Wstęp do programowania obiektowego WYKŁAD 3 Dziedziczenie Pola i funkcje statyczne Funkcje zaprzyjaźnione, this 1 Nazwa typu Rozmiar Zakres Uwagi bool 1 bit wartości true albo false stdbool.h TYPY ZNAKOWE
Składnia C++ Programowanie Obiektowe Mateusz Cicheński
Składnia C++ Programowanie Obiektowe Mateusz Cicheński Klasy i modyfikatory dostępu Przesłanianie metod Polimorfizm Wskaźniki Metody wirtualne Metody abstrakcyjne i interfejsy Konstruktory i destruktory
POLITECHNIKA SZCZECIŃSKA KATEDRA MECHANIKI I PODSTAW KONSTRUKCJI MASZYN
POLITECHNIKA SZCZECIŃSKA KATEDRA MECHANIKI I PODSTAW KONSTRUKCJI MASZYN Ćwiczenie nr 9 Instrukcja do ćwiczeń laboratoryjnych Numeryczne metody analizy konstrukcji Wykorzystanie operacji boolowskich przy
Mobilne Aplikacje Multimedialne
Mobilne Aplikacje Multimedialne Rozszerzona rzeczywistość (AR, Augmented Reality) w Systemie Android Cz.1 Krzysztof Bruniecki Podstawy Algebra liniowa, operacje na wektorach, macierzach, iloczyn skalarny
C++ - klasy. C++ - klasy. C++ - klasy. C++ - klasy. C++ - klasy INNE SPOSOBY INICJALIZACJI SKŁADOWYCH OBIEKTU
Inicjalizacja agregatowa zmiennej tablicowej int a[5] = 1,2,3,4,5 INNE SPOSOBY INICJALIZACJI SKŁADOWYCH OBIEKTU Struktury są również agregatami, dlatego: struct X double f; char c; X x1 = 1, 2.2, 'c' Ale
Programowanie obiektowe Wykład 6. Dariusz Wardowski. dr Dariusz Wardowski, Katedra Analizy Nieliniowej, WMiI UŁ 1/14
Dariusz Wardowski dr Dariusz Wardowski, Katedra Analizy Nieliniowej, WMiI UŁ 1/14 Wirtualne destruktory class A int* a; A(int _a) a = new int(_a);} virtual ~A() delete a;} class B: public A double* b;
PARADYGMATY PROGRAMOWANIA Wykład 3
PARADYGMATY PROGRAMOWANIA Wykład 3 Definiowanie operatorów i ich przeciążanie Przykłady zastosowania operatorów: a) operator podstawienia ( = ) obiektów o złożonej strukturze, b) operatory działania na
Wzorce logiki dziedziny
Wzorce logiki dziedziny 1. Wzorce logiki dziedziny skrypt transakcji (Transaction Script), brama tabeli (Table Data Gateway), model dziedziny (Domain model), strategia (Strategy), moduł tabeli (Table Module),
Technologie i usługi internetowe cz. 2
Technologie i usługi internetowe cz. 2 Katedra Analizy Nieliniowej, WMiI UŁ Łódź, 15 luty 2014 r. 1 Programowanie obiektowe Programowanie obiektowe (z ang. object-oriented programming), to paradygmat programowania,
Wprowadzenie w dziedziczenie. Klasa D dziedziczy klasę B: Klasa B klasa bazowa (base class), klasa D klasa pochodna (derived class).
Wprowadzenie w dziedziczenie Klasa D dziedziczy klasę B: B klasa bazowa D klasa pochodna Klasa B klasa bazowa (base class), klasa D klasa pochodna (derived class). Najpierw jest tworzona klasa bazowa,
Template method (metoda szablonowa)
1/11 Template method (metoda szablonowa) Cel: Definiuje szkielet algorytmu przy pomocy operacji podstawowych. Konkretyzacja poszczególnych kroków składowych pozostawiona klasom potomnym mogą być one zmieniane
Plik klasy. h deklaracje klas
Plik klasy. h deklaracje klas KLASY DLA PRZYKŁADÓW Z POLIMORFIZMEM enum dim r1 = 1, r2, r3; class figura public: static int const maxliczbafigur; = 100; static int liczbafigur; dim rn; rodzaj przestrzeni
Dziedziczenie. Ogólna postać dziedziczenia klas:
Dziedziczenie Ogólna postać dziedziczenia klas: class nazwa_clasy_pochodnej : specyfikator_dostępu nazwa_clasy_bazowej specyfikator_dostępu : public private protected Specyfikator dostępu definiuje, w
Do czego służą klasy?
KLASY Dorota Pylak 2 Do czego służą klasy? W programowaniu obiektowym posługujemy się obiektami. Obiekty charakteryzują się: cechami (inaczej - atrybutami lub stanami) operacjami, które na nich można wykonywać
Wykład 5 Okna MDI i SDI, dziedziczenie
Wykład 5 Okna MDI i SDI, dziedziczenie Autor: Zofia Kruczkiewicz Zagadnienia 1. Aplikacja wielookienkowa. Zakładanie projektu typu CLR Windows Forms 1.1. Aplikacja typu MDI 1.2. Aplikacja typu SDI 2. Dziedziczenie
Wykład V. Programowanie II - semestr II Kierunek Informatyka. dr inż. Janusz Słupik. Wydział Matematyki Stosowanej Politechniki Śląskiej
Wykład V - semestr II Kierunek Informatyka Wydział Matematyki Stosowanej Politechniki Śląskiej Gliwice, 2014 c Copyright 2014 Janusz Słupik Programowanie obiektowe Dziedziczenie (inheritance) - mechanizm
Informatyka I. Dziedziczenie. Nadpisanie metod. Klasy abstrakcyjne. Wskaźnik this. Metody i pola statyczne. dr inż. Andrzej Czerepicki
Informatyka I Dziedziczenie. Nadpisanie metod. Klasy abstrakcyjne. Wskaźnik this. Metody i pola statyczne. dr inż. Andrzej Czerepicki Politechnika Warszawska Wydział Transportu 2017 Dziedziczenie klas
Zaawansowane programowanie w języku C++ Programowanie obiektowe
Zaawansowane programowanie w języku C++ Programowanie obiektowe Prezentacja jest współfinansowana przez Unię Europejską w ramach Europejskiego Funduszu Społecznego w projekcie pt. Innowacyjna dydaktyka
KLASY cz.1. Dorota Pylak
KLASY cz.1 Dorota Pylak Do czego służą klasy? 2 W programowaniu obiektowym posługujemy się obiektami. Obiekty charakteryzują się: cechami (inaczej - atrybutami lub stanami) operacjami, które na nich można
Składnia C++ Programowanie Obiektowe Mateusz Cicheński
Składnia C++ Programowanie Obiektowe Mateusz Cicheński Klasy i modyfikatory dostępu Przesłanianie metod Polimorfizm Wskaźniki Metody wirtualne Metody abstrakcyjne i interfejsy Przeciążanie operatorów Słowo
Wykład 8: klasy cz. 4
Programowanie obiektowe Wykład 8: klasy cz. 4 Dynamiczne tworzenie obiektów klas Składniki statyczne klas Konstruktor i destruktory c.d. 1 dr Artur Bartoszewski - Programowanie obiektowe, sem. 1I- WYKŁAD
Podstawy programowania III
Podstawy programowania III Jan Kazimirski 1 Opis zajęć Zastosowanie funkcji i obiektów w PHP powtórzenie zagadnień. Dostęp do bazy danych PostgreSQL z poziomu skryptu PHP. Wprowadzenie do języka SQL. Przykłady
Programowanie 2. Język C++. Wykład 3.
3.1 Programowanie zorientowane obiektowo... 1 3.2 Unie... 2 3.3 Struktury... 3 3.4 Klasy... 4 3.5 Elementy klasy... 5 3.6 Dostęp do elementów klasy... 7 3.7 Wskaźnik this... 10 3.1 Programowanie zorientowane
Ćwiczenie nr 8 - Modyfikacje części, tworzenie brył złożonych
Ćwiczenie nr 8 - Modyfikacje części, tworzenie brył złożonych Wprowadzenie Utworzone elementy bryłowe należy traktować jako wstępnie wykonane elementy, które dopiero po dalszej obróbce będą gotowymi częściami
Laboratorium nr 12. Temat: Struktury, klasy. Zakres laboratorium:
Zakres laboratorium: definiowanie struktur terminologia obiektowa definiowanie klas funkcje składowe klas programy złożone z wielu plików zadania laboratoryjne Laboratorium nr 12 Temat: Struktury, klasy.
KLASA UCZEN Uczen imię, nazwisko, średnia konstruktor konstruktor Ustaw Wyswietl Lepszy Promowany
KLASA UCZEN Napisz deklarację klasy Uczen, w której przechowujemy następujące informacje o uczniu: imię, nazwisko, średnia (pola prywatne), poza tym klasa zawiera metody: konstruktor bezparametrowy (nie
Wprowadzenie do programowanie obiektowego w języku C++
Wprowadzenie do programowanie obiektowego w języku C++ Część czwarta Autor Roman Simiński Kontakt roman.siminski@us.edu.pl www.us.edu.pl/~siminski Niniejsze opracowanie zawiera skrót treści wykładu, lektura
Kryteria oceniania z matematyki Klasa III poziom rozszerzony
Kryteria oceniania z matematyki Klasa III poziom rozszerzony Zakres Dopuszczający Dostateczny Dobry Bardzo dobry Funkcja potęgowa - zna i stosuje tw. o potęgach - zna wykresy funkcji potęgowej o dowolnym
Operatory na rzecz typu TString
Operatory na rzecz typu TString Dopiszmy w definicji klasy operator[], dzięki któremu potraktujemy obiekt jak tablicę class TString { public: char& operator[]( size_t n ); const char& operator[]( size_t
Projektowanie klas c.d. Projektowanie klas przykład
Projektowanie klas c.d. ogólne wskazówki dotyczące projektowania klas: o wyodrębnienie klasy odpowiedź na potrzeby życia (obsługa rozwiązania konkretnego problemu) o zwykle nie uda się utworzyć idealnej
Programowanie obiektowe i zdarzeniowe
Marek Tabędzki Programowanie obiektowe i zdarzeniowe 1/23 Programowanie obiektowe i zdarzeniowe wykład 6 polimorfizm Na poprzednim wykładzie: dziedziczenie jest sposobem na utworzenie nowej klasy na podstawie
Programowanie Obiektowe i C++
Programowanie Obiektowe i C++ Marcin Benke Instytut Informatyki UW 6.11.2006 Marcin Benke (IIUW) Programowanie Obiektowe i C++ 6.11.2006 1 / 138 Operator przypisania Jest czym innym niż konstruktor kopiujacy!
Programowanie obiektowe, wykład nr 6. Klasy i obiekty
Dr hab. inż. Lucyna Leniowska, prof. UR, Zakład Mechatroniki, Automatyki i Optoelektroniki, IT Programowanie obiektowe, wykład nr 6 Klasy i obiekty W programowaniu strukturalnym rozwój oprogramowania oparto
Podstawy Programowania Obiektowego
Podstawy Programowania Obiektowego Wprowadzenie do programowania obiektowego. Pojęcie struktury i klasy. Spotkanie 03 Dr inż. Dariusz JĘDRZEJCZYK Tematyka wykładu Idea programowania obiektowego Definicja
Programowanie obiektowe Wykład 7. Dariusz Wardowski. dr Dariusz Wardowski, Katedra Analizy Nieliniowej, WMiI UŁ 1/20
Dariusz Wardowski dr Dariusz Wardowski, Katedra Analizy Nieliniowej, WMiI UŁ 1/20 Relacja ma Przykłady relacji typu ma : Student ma nazwisko Wielokąt ma wierzchołki (punkty) Stos ma elementy Dla obiektów
Do czego służą klasy?
KLASY Dorota Pylak 2 Do czego służą klasy? W programowaniu obiektowym posługujemy się obiektami. Obiekty charakteryzują się: cechami (inaczej - atrybutami lub stanami) operacjami, które na nich można wykonywać
Programowanie współbieżne Wykład 8 Podstawy programowania obiektowego. Iwona Kochaoska
Programowanie współbieżne Wykład 8 Podstawy programowania obiektowego Iwona Kochaoska Programowanie Obiektowe Programowanie obiektowe (ang. object-oriented programming) - metodyka tworzenia programów komputerowych,
Układy współrzędnych GUW, LUW Polecenie LUW
Układy współrzędnych GUW, LUW Polecenie LUW 1 Układy współrzędnych w AutoCAD Rysowanie i opis (2D) współrzędnych kartezjańskich: x, y współrzędnych biegunowych: r
Układ współrzędnych dwu trój Wykład 2 "Układ współrzędnych, system i układ odniesienia"
Układ współrzędnych Układ współrzędnych ustanawia uporządkowaną zależność (relację) między fizycznymi punktami w przestrzeni a liczbami rzeczywistymi, czyli współrzędnymi, Układy współrzędnych stosowane
Kurs WWW. Paweł Rajba. pawel@ii.uni.wroc.pl http://pawel.ii.uni.wroc.pl/
Paweł Rajba pawel@ii.uni.wroc.pl http://pawel.ii.uni.wroc.pl/ Spis treści Wprowadzenie Automatyczne ładowanie klas Składowe klasy, widoczność składowych Konstruktory i tworzenie obiektów Destruktory i
Projektowanie 3D Tworzenie modeli przez wyciągnięcie profilu po krzywej SIEMENS NX Sweep Along Guide
Projektowanie 3D Narzędzie do tworzenia modeli bryłowych lub powierzchniowych o stałym przekroju opartych na krzywoliniowym profilu otwartym. Okno dialogowe zawiera następujące funkcje: Section wybór profilu
Definiowanie własnych klas
Programowanie obiektowe Definiowanie własnych klas Paweł Rogaliński Instytut Informatyki, Automatyki i Robotyki Politechniki Wrocławskiej pawel.rogalinski @ pwr.wroc.pl Definiowanie własnych klas Autor:
.NET Klasy, obiekty. ciąg dalszy
.NET Klasy, obiekty ciąg dalszy Przeciążanie operatorów 1 W języku C# istnieje możliwość zdefiniowania funkcjonalności dużej części operatorów dla typów stworzonych przez użytkownika. Dzięki takiemu zabiegowi,
Wykład 6: Dziedziczenie
Wykład 6: Dziedziczenie Dziedziczenie Jeden z filarów obiektowości. Budowa jednej klasy na bazie drugiej, przez dodawanie/przesłanianie jej składowych: nad-klasa klasa bazowa pod-klasa klasa pochodna od
Typy metod: konstruktory, destruktory, selektory, zapytania, iteratory.
Typy metod: konstruktory, destruktory, selektory, zapytania, iteratory. Konstruktory Konstruktory w językach obiektowych są to specjalne metody wywoływane podczas tworzenia nowego obiektu i służące do
Współbieżność w środowisku Java
Współbieżność w środowisku Java Wątki i ich synchronizacja Zagadnienia Tworzenie wątków Stany wątków i ich zmiana Demony Synchronizacja wątków wzajemne wykluczanie oczekiwanie na zmiennych warunkowych
Programowanie obiektowe
Programowanie obiektowe Wykład 2 Marcin Młotkowski 4 marca 2015 Plan wykładu 1 2 3 4 5 Marcin Młotkowski Programowanie obiektowe 2 / 47 Krótki opis C Obiektowy, z kontrolą typów; automatyczne odśmiecanie;
ZADANIE 1 (5 PKT) ZADANIE 2 (5 PKT) Oblicz objętość czworościanu foremnego o krawędzi a.
ZADANIE 1 (5 PKT) Czworościan foremny o krawędzi a rozcięto płaszczyzna prostopadła do jednej z krawędzi, przechodzac a w odległości 0, 25a od jednego końca tej krawędzi. Oblicz objętość otrzymanych brył.
1. Potęgi. Logarytmy. Funkcja wykładnicza
1. Potęgi. Logarytmy. Funkcja wykładnicza Tematyka zajęć: WYMAGANIA EDUKACYJNE NA POSZCZEGÓLNE OCENY KL. 3 POZIOM PODSTAWOWY Potęga o wykładniku rzeczywistym powtórzenie Funkcja wykładnicza i jej własności
Co to jest klasa? Z programistycznego punktu widzenia klasa stanowi typ danych, który odwzorowuje wspólne cechy jakiegoś obiektu.
.NET Klasy, obiekty Klasa i obiekt Każdy obiektowy język programowania daje programiście możliwość tworzenia nowych typów danych. Nowy typ danych definiuje się poprzez zdefiniowanie klasy. Co to jest klasa?
Programowanie 2. Język C++. Wykład Relacje między klasami, klasy zagnieŝdŝone, klasy lokalne
3.1 Relacje między klasami, klasy zagnieŝdŝone, klasy lokalne... 1 3.2 Zaprzyjaźnione klasy, specyfikator friend... 3 3.3 Zaprzyjaźnione funkcje, metody z klasą... 4 3.4 Relacje dziedziczenia... 6 3.5
Java: interfejsy i klasy wewnętrzne
Java: interfejsy i klasy wewnętrzne Programowanie w językach wysokiego poziomu mgr inż. Anna Wawszczak 1 INTERFEJSY Interfejs to opis co klasa implementująca dany interfejs powinna robić, ale bez określania
Techniki programowania INP001002Wl rok akademicki 2017/18 semestr letni. Wykład 4. Karol Tarnowski A-1 p.
Techniki programowania INP001002Wl rok akademicki 2017/18 semestr letni Wykład 4 Karol Tarnowski karol.tarnowski@pwr.edu.pl A-1 p. 411B Plan prezentacji Dziedziczenie Przestrzenie nazw Na podstawie: A.
Zaawansowane programowanie w C++ (PCP)
Zaawansowane programowanie w C++ (PCP) Wykład 3 - polimorfizm. dr inż. Robert Nowak - p. 1/14 Powtórzenie Powtórzenie: klasy autonomiczne: konstruktor, konstruktor kopiujacy, operator przypisania, destruktor
Informatyka I. Klasy i obiekty. Podstawy programowania obiektowego. dr inż. Andrzej Czerepicki. Politechnika Warszawska Wydział Transportu 2018
Informatyka I Klasy i obiekty. Podstawy programowania obiektowego dr inż. Andrzej Czerepicki Politechnika Warszawska Wydział Transportu 2018 Plan wykładu Pojęcie klasy Deklaracja klasy Pola i metody klasy
Polimorfizm. dr Jarosław Skaruz
Polimorfizm dr Jarosław Skaruz http://jareks.ii.uph.edu.pl jaroslaw@skaruz.com O czym będzie? finalne składowe klasy abstrakcyjne interfejsy polimorfizm Finalne składowe Domyślnie wszystkie pola i metody
Podstawy POV-Ray a. Diana Domańska. Uniwersytet Śląski
Podstawy POV-Ray a Diana Domańska Uniwersytet Śląski CSG (Constructive Solid Geometry) Większość kształtów takich jak sfera, prostopadłościan itp. dzielą świat na dwa regiony: region leżący wewnątrz i