PGO Przeciążanie metod i konstruktorów

Slides:



Advertisements
Podobne prezentacje
C++ wykład 2 ( ) Klasy i obiekty.
Advertisements

C++ wykład 4 ( ) Przeciążanie operatorów.
Język C/C++ Funkcje.
Deklaracje i definicje klas w C++ Składowe, pola, metody Konstruktory
Klasy i obiekty.
Wzorce.
Prowadzący: mgr inż. Elżbieta Majka
Static, const, volatile.
Dziedziczenie. Po co nam dziedziczenie? class osoba { char * imie, char * imie, * nazwisko; * nazwisko;public: void wypisz_imie(); void wypisz_imie();
Generics w .NET 2.0 Łukasz Rzeszot.
PROGRAMOWANIE STRUKTURALNE
Sposoby implementacji asocjacji
Programowanie obiektowe w Javie
ODE Triggery. Wstęp n Triggery są trójką zdarzenie-warunek-akcja (event-condition- action). n Zdarzenia mogą być proste lub złożone, co zostanie omówione.
ODE Informacje wstępne. Pojęcia podstawowe n Obiektowa baza danych u język komunikacji u ziarnistość obiektów u identyfikacja obiektów n Transakcja -
Podstawy informatyki Wirtotechnologia – Wskaźniki i referencje
Podstawy informatyki Rekurencja i rekurencja Grupa: 1A
Podstawy informatyki Powtórka Grupa: 1A Prowadzący: Grzegorz Smyk
Kurs Pascala – spis treści
C++ wykład 2 ( ) Klasy i obiekty.
Typy wskaźnikowe ogólne 1 Typy wskaźnikowe ogólne (general access types) umożliwiają pośredni dostęp (indirect access), czyli przez wskaźniki, do zadeklarowanych.
Polsko – Japońska Wyższa Szkoła Technik Komputerowych
Podstawy informatyki Struktury, operatory, wyjątki
T: Różnice pomiędzy programowaniem strukturalnym a obiektowym
Jerzy F. Kotowski1 Informatyka I Wykład 8 STRUKTURA PROGRAMU n Funkcje n Klasy zmiennych n Projekt.
Programowanie obiektowe III rok EiT
Jerzy F. Kotowski1 Informatyka I Wykład 14 DEKLARATORY.
Programowanie obiektowe III rok EiT
Andrzej Repak Nr albumu
Java – coś na temat Klas Piotr Rosik
Inicjalizacja i sprzątanie
Programowanie obiektowe Wykład 7 dr Dariusz Wardowski, Katedra Analizy Nieliniowej, WMiI UŁ 1/20 Dariusz Wardowski.
C# Cz.7 Refleksja, Atrybuty
C# Platforma .NET CZ.3 Kuba Ostrowski.
Warsztaty C# Część 6 Grzegorz Piotrowski Grupa .NET PO
Przekazywanie parametrów do funkcji oraz zmienne globalne i lokalne
Programowanie obiektowe 2013/2014
Język C# .NET Maria DEMS.
Prasek Aneta, Skiba Katarzyna. Funkcje stałe const to takie funkcje, które nie mogą modyfikować stanu obiektu. Oznacza to, że funkcja stała nie może zmieniać.
Projektowanie stron WWW
Aplikacje internetowe
Treści multimedialne - kodowanie, przetwarzanie, prezentacja Odtwarzanie treści multimedialnych Andrzej Majkowski informatyka +
Programowanie strukturalne i obiektowe C++
Diagram klas Kluczowymi elementami są: klasy (class)
Kurs języka C++ – wykład 4 ( )
K URS JĘZYKA C++ – WYKŁAD 2 ( ) Klasy i obiekty.
Klasy ( uzupełnienie ). Definicja klasy Klasa jest zbiorem logicznie powiązanych danych i funkcji, przeznaczonych do realizacji konkretnego zadania; Zamknięcie.
Waldemar Bartyna 1 Programowanie zaawansowane LINQ to XML.
Programowanie Zaawansowane
Wykład 4 Dr Aneta Polewko-Klim Dr Aneta Polewko-Klim
Wykład 4 Programowanie obiektowe. Tworzenie własnych obiektów Słowo kluczowe this W JavaScript można tworzyć własne obiekty. Wykorzystuje się tu zapis.
Wstęp do programowania Wykład 2 Dane, instrukcje, program.
Podstawy informatyki Szablony funkcji Łukasz Sztangret Katedra Informatyki Stosowanej i Modelowania Prezentacja przygotowana w oparciu o materiały Danuty.
K URS JĘZYKA C++ – WYKŁAD 3 ( ) Przenoszenie Składowe statyczne Funkcje wbudowane Argumenty domyślne.
Wykład 4 Dr Aneta Polewko-Klim Dr Aneta Polewko-Klim
C++ mgr inż. Tomasz Turba Politechnika Opolska 2016.
Programowanie Obiektowe – Wykład 6
Przypomnienie wiadomości – kilka zadań
Typy wyliczeniowe, kolekcje
Klasy, pola, obiekty, metody. Modyfikatory dostępu, hermetyzacja
Delegaty Delegat to obiekt „wiedzący”, jak wywołać metodę.
Programowanie Obiektowe – Wykład 2
Wskaźniki Elżbieta Labocha.
Aplikacje i usługi internetowe
Wprowadzenie do programowania obiektowego
PGO Interfejsy Michail Mokkas.
PGO - Projektowanie i implementacja pierwszych klas
PGO Dziedziczenie Michail Mokkas.
PGO Porównywanie obiektów
Zapis prezentacji:

PGO Przeciążanie metod i konstruktorów Michail Mokkas

Spis treści Przeciążanie metod Konstruktor Przeciążanie konstruktorów Słowo kluczowe this Przykłady Zadania

Przeciążanie metod overloading (ang.) Umożliwia tworzenie kilku (więcej niż jedna) metod o takiej samej nazwie, ale różnej implementacji. pod warunkiem, że zmieniamy: ilość parametrów metody typy parametrów metody nie możemy: zmienić jedynie typ metody zmienić jedynie nazwy parametrów metody zmienić jedynie modyfikator dostępu

Przykład 1 Prawidłowo.

Przykład 1 (kont. 1) Źle!

Konstruktor Metoda w klasie odpowiedzialna za tworzenie obiektów tej klasy. Posiada taką samą nazwę jak klasa. Nie zwracają niczego. (nie korzystają z return)

Przeciążanie konstruktorów Podobnie jak zwykłe metody.

Słowo kluczowe this Odnosi się do bieżącego obiektu klasy. Kilka zastosowań: w metodach klasy do odróżnienia argumentów od parametrów w konstruktorze do odróżnienia argumentów od parametrów do wywoływania alternatywnych konstruktorów 2 1 2

Przykład 2 Bez użycia this.

Przykład 3 Użycie this.

Przykład 4 Użycie this().

Przykład 5 Użycie this w klasie zagnieżdżonej (klasa w klasie).

Przykład 5 kont. inicjalizacja: rezultat:

Zadanie C1 Stwórz klasę posiadającą metodę „wypisz”, która dla jednego parametru (String) wypisze jego pierwszą i ostatnią literę, a dla dwóch parametrów (String, String) wypisze pierwszą literę pierwszego parametru i ostatnią drugiego. przykład: wypisz(“abc”) -> ac wypisz(“abc”, “123”) -> a3

Zadanie C2 Stwórz klasę, która posiada metodę o nazwie „dodaj” dla 2, 3 i 4 parametrów typu int i long. Metoda powinna zwracać sumę tych parametrów.

Zadanie C3 Stwórz klasę reprezentującą kubek, zawierającą następujące atrybuty: materiał (String) pojemność w ml (int) kolor (Color) nadruk (String) Stwórz następujące konstruktory: Kubek(materiał) Kubek(materiał, pojemność, kolor) Kubek(materiał, pojemność, nadruk) Kubek(materiał, pojemność, kolor, nadruk)

Zadanie C4 Do poprzedniego zadania dopisz co najmniej 4 kombinacje konstruktorów korzystających z this().