Object vs. class (rozdzial 13 The NEURON book)

Slides:



Advertisements
Podobne prezentacje
C++ wykład 9 ( ) Szablony.
Advertisements

C++ wykład 2 ( ) Klasy i obiekty.
Programowanie obiektowe
Klasy abstrakcyjne i interfejsy
Programowanie obiektowe
Programowanie obiektowe
Klasy i obiekty.
Wzorce.
Zaawansowane metody programowania – Wykład V
Static, const, volatile.
Dziedziczenie. Po co nam dziedziczenie? class osoba { char * imie, char * imie, * nazwisko; * nazwisko;public: void wypisz_imie(); void wypisz_imie();
PROGRAMOWANIE STRUKTURALNE
Implementacja ekstensji klasy
Programowanie Obiektowe w Javie (c.d.)
Programowanie obiektowe w Javie
Visual Studio Codename „Orcas”, LINQ
Materiały do zajęć z przedmiotu: Narzędzia i języki programowania Programowanie w języku PASCAL Część 7: Procedury i funkcje © Jan Kaczmarek.
Materiały do zajęć z przedmiotu: Narzędzia i języki programowania Programowanie w języku PASCAL Część 8: Wykorzystanie procedur i funkcji © Jan Kaczmarek.
Wskaźniki. Definiowanie wskaźników Wskaźnik może wskazywać na obiekt dowolnego typu. int * w; char * Wsk_Znak; float * Wskaz_Real; Przykłady: Wskaźnik.
C++ wykład 2 ( ) Klasy i obiekty.
Zasady zaliczenia Warunki uzyskania zaliczenia:
Tablice jednowymiarowe 1
Języki programowania obiektowego
Wstęp do programowania obiektowego
Java – programowanie obiektowe
Tablice tablica jest sekwencją elementów tego samego typu (prostego lub obiektowego) w Javie tablice są obiektami, a zmienne tablicowe przechowują referencję
Podstawy C# Grupa .NET PO.
Klasy w C++. Deklaracja klasy class NazwaTwojejKlasy { //w tym miejscu piszemy definicje typów, //zmienne i funkcje jakie mają należeć do klasy. }; //tutaj.
Obiekty dynamiczne Tworzenie klas 3 MPDI Programowanie obiektowe W4.
T: Różnice pomiędzy programowaniem strukturalnym a obiektowym
Podstawy programowania
Programowanie obiektowe III rok EiT
Podstawy programowania w języku C i C++
Programowanie obiektowe – zastosowanie języka Java SE
Andrzej Repak Nr albumu
Java – coś na temat Klas Piotr Rosik
Dziedziczenie Maciek Mięczakowski
Inicjalizacja i sprzątanie
Programowanie obiektowe Wykład 7 dr Dariusz Wardowski, Katedra Analizy Nieliniowej, WMiI UŁ 1/20 Dariusz Wardowski.
Programowanie obiektowe Wykład 6 dr Dariusz Wardowski, Katedra Analizy Nieliniowej, WMiI UŁ 1/14 Dariusz Wardowski.
Tworzenie Aplikacji Internetowych dr Wojciech M. Gańcza 8.
Programowanie obiektowe 2013/2014
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ć.
Kurs języka C++ – wykład 3 ( )
Programowanie w języku C++
Wykład 3 Programowanie obiektowe. Dokument HTML składa się z obiektów (standardowych i utworzonych przez użytkownika). Głównym obiektem jest document,
Treści multimedialne - kodowanie, przetwarzanie, prezentacja Odtwarzanie treści multimedialnych Andrzej Majkowski informatyka +
Programowanie strukturalne i obiektowe C++
Kurs języka C++ – wykład 4 ( )
K URS JĘZYKA C++ – WYKŁAD 2 ( ) Klasy i obiekty.
Programowanie obiektowe Wykład 9 dr Dariusz Wardowski, Katedra Analizy Nieliniowej, WMiI UŁ 1/15 Dariusz Wardowski.
Klasa NetCon (rozdzial 10 The NEURON book) Skladnia: section netcon = new NetCon(&v(x), target, thresh, del, wt) Target musi byc procesem punktowym zawierajacym.
Paweł Starzyk Obiektowe metody projektowania systemów
Programowanie Zaawansowane
Dziedziczenie Wykład 7 Dziedziczenie sekwencyjne
Partnerstwo dla Przyszłości 1 Lekcja 27 Klasy i obiekty.
Wykład 2 Programowanie obiektowe. Programowanie obiektowe wymaga dobrego zrozumienia działania funkcji definiowanych przez użytkownika, w ten sposób będziemy.
Partnerstwo dla Przyszłości 1 Lekcja 28 Dziedziczenie i rodzaje dziedziczenia.
ASP.NET Dostęp do bazy danych z poziomu kodu Elżbieta Mrówka-Matejewska.
Zarządzanie stanem w aplikacjach ASP.NET Elżbieta Mrówka-Matejewska
K URS JĘZYKA C++ – WYKŁAD 3 ( ) Przenoszenie Składowe statyczne Funkcje wbudowane Argumenty domyślne.
Typy wyliczeniowe, kolekcje
Kurs języka C++ – wykład 3 ( )
Klasy, pola, obiekty, metody. Modyfikatory dostępu, hermetyzacja
(według:
Programowanie Obiektowe – Wykład 2
Programowanie obiektowe – zastosowanie języka Java SE
PGO Interfejsy Michail Mokkas.
Wywołanie okienka ShapePlot poprzez hoc
Zapis prezentacji:

Object vs. class (rozdzial 13 The NEURON book) Klasa (class) – definicja dla obiektow, zawierająca zbior funkcji i procedur Obiekt klasy (object) – konkretny element danej klasy (instancja) Tworzenie klasy: begintemplate classname public name1, name2, name3, . . . external variable1, string2, function3, template4, . . . . . . hoc code . . . endtemplate classname public – definiuje zmienne, procedury, funkcje widoczne z zewnatrz external – umożliwia uzyskanie przez obiekt informacji z zewnatrz (deklaracja jest potrzebna nawet jesli zmienna jest global )

Inicjalizacja w obiekcie Domyslne, poczatkowe wartości wszystkich zmiennych w obiekcie klasy wynosza 0. Aby zainicjalizowac zmienne do innych wartosci, klasa musi zawierac procedure init(). Utwórzmy nastepujacy nowy plik test.hoc z templatem bez inicjalizacji: begintemplate Foo public a a = 5 // this is a direct command endtemplate Foo Nastepnie wczytajmy go do Neurona i wykonajmy nastepujace polecenia: oc>objref f oc>f= new Foo() oc>f.a W wyniku dostajemy wartosc f.a 0, a nie 5.

Inicjalizacja w obiekcie Dodajmy do utworzonego template’a inicjalizację: begintemplate Foo public init, a proc init() { a=5 } endtemplate Foo Wczytajmy do Neurona i wykonajmy: oc>objref f oc>f= new Foo() Oc>f.a 5 oc>f.a = 6 //przypisanie nowej wartosci oc>f.a 6 oc>f.init() //przywrocenie wartosci poczatkowej Uwaga: NEURON jest ‘czuły’ na położenie nawiasów { } begintemplate Foo public init, a proc init() { a=5 } endtemplate Foo Proba wczytania powyzszego kodu zakonczy sie: syntax error in test.hoc near line 3 ^ oc>

Programowanie obiektowe w HOC W interpreterze (OC), obiekt jest zbiorem funkcji, procedur i danych; Dane wyznaczają stan obiektu. Funkcje i procedury wyznaczają jego zachowanie. Obiektowość znacznie zwiększa zdolność do utrzymywania koncepcyjnej kontroli nad całym kodem. Umożliwia tworzenie struktur danych, podobnie jak w C, Pascalu i Pythonie. Obiektowość pojawiła się w NEURONie dosyć późno – po wprowadzeniu pojęcia sekcji w neuronach i dlatego występuje w nim dużo zmiennych (np. sekcje, mechanizmy i zmienne typu range), które koncepcyjnie są traktowane jak obiekty, ale nie maja jednorodnej składni.

Programowanie obiektowe w HOC Deklaracja obiektu: objref name1, name2, name3, ... Tworzenie obiektu: objref g[3] for i=0,2 { g[i] = new Graph() } Używanie obiektu – dostęp do widocznych elementów obiektu uzyskuje się poprzez ‘.’, podobnie jak do pól i metod obiektu w C++): g[1].erase() //usuwa narysowane linie z wykresu g[2].size(0,1,0,10) // definicja układu współrzędnych wykresu //wartości odnoszą sie do xmin, xmax, ymin, ymax g[2].xaxis() //rysuje osie x i y