Tworzenie instancji klas z konstruktorami Rozdzia³ 2 Tworzenie instancji klas z konstruktorami
|
|
- Bronisława Stefańska
- 8 lat temu
- Przeglądów:
Transkrypt
1 Rozdzia³ 2 Tworzenie instancji klas z konstruktorami Rozdzia³ 2 Tworzenie instancji klas z konstruktorami W tym rozdziale: Tworzenie konstruktora klasy. Tworzenie wielu konstruktorów dla jednej klasy. Inicjowanie instancji klasy za pomoc¹ konstruktora. Implementowanie metody ToString dla klasy. Tworzenie tablicy instancji klasy. U ywanie tablicy instancji klasy jako Ÿród³a danych kontrolki ListBox. Szacunkowy czas 1 godz. 30 min. W poprzednim rozdziale tworzyliœmy klasê Book, która zawiera³a w³aœciwoœci Text i Title. Do utworzenia nowej instancji klasy wystarcz¹ trzy wiersze kodu: jeden z deklaracj¹ i utworzeniem instancji klasy, jeden w celu ustawienia w³aœciwoœci Text i jeden w celu ustawienia w³aœciwoœci Title. W tym rozdziale tworzymy konstruktor klasy, który bêdzie umo liwia³ jednoczesne wykonywanie wszystkich tych trzech kroków: deklarowanie, tworzenie instancji i inicjowanie pól. Konstruktory Konstruktor to blok kodu wykonywany w wyniku uruchomienia s³owa kluczowego new (New lub new w zale noœci od jêzyka) podczas tworzenia instancji klasy. Konstruktory maj¹ nastêpuj¹ce zalety: Konstruktor mo e przyjmowaæ parametry, które umo liwiaj¹ inicjowanie pól w chwili tworzenia obiektu. Konstruktor mo e sprawdzaæ poprawnoœæ przekazywanych do niego parametrów podczas tworzenia klasy. Klasa mo e mieæ wiele konstruktorów. Ka dy mo e przyjmowaæ inny zestaw parametrów. Jeden konstruktor mo e wywo³ywaæ inne konstruktory. Przy definiowaniu konstruktorów w jêzykach Visual Basic i Visual C# stosujemy nieco ró ne sk³adnie. W jêzyku Visual Basic konstruktor bezparametrowy deklarujemy tak: Public Sub New() End Sub W Visual C# ten sam konstruktor nale y zadeklarowaæ, u ywaj¹c nazwy klasy: public Book() {
2 28 Microsoft Visual Basic.NET i Microsoft Visual C#.NET w programowaniu obiektowym W obu przypadkach konstruktor deklaruje siê za pomoc¹ s³owa kluczowego public (Public lub public). Konstruktor jest niezbêdny do tworzenia instancji klasy za pomoc¹ s³owa kluczowego new. Konstruktor mo na tak e zadeklarowaæ za pomoc¹ s³owa kluczowego private (Private lub private). Jeœli zdefiniujesz tylko jeden konstruktor w klasie i bêdzie on prywatny, kod kliencki nie bêdzie w stanie tworzyæ adnych instancji klasy. Jeœli w danej klasie nie zostanie zdefiniowany aden konstruktor, kompilator sam wygeneruje pusty, publiczny i bezparametrowy konstruktor taki jak pokazany na powy szych listingach. W takiej sytuacji nale y w jakiœ inny sposób zagwarantowaæ polom klasy poprawne inicjowanie wartoœci (choæ jest to wbrew ca³ej filozofii konstruktorów). Inna implementacja klas ksi¹ ek W poprzednim rozdziale zaraz po zainicjowaniu klasy okreœlane by³y wartoœci w³aœciwoœci Text i Title. W tym rozdziale utworzysz dwa ró ne konstruktory do inicjowania pól klasy. Pierwszy, konstruktor domyœlny, bêdzie tworzy³ instancjê dok³adnie tak jak w rozdziale 1. Drugi konstruktor bêdzie inicjowa³ w³aœciwoœci Title i Text. Wprowadzimy jeszcze jedn¹ zmianê. Obiekty ksi¹ ek bêd¹ przechowywane w prostej tablicy, a nie w specjalnie utworzonym obiekcie Library. Tablica ta bêdzie stanowi³a Ÿród³o danych dla kontrolki ListBox. Tworzenie konstruktorów klasy Book To æwiczenie jest rozbudowaniem æwiczenia z rozdzia³u 1. Utworzymy nowy projekt, ale wykorzystamy w nim formularz i klasê Book utworzon¹ w rozdziale 1. Nastêpnie zmodyfikujemy klasê Book, dodaj¹c do niej dwa konstruktory i metodê ToString. Tworzenie projektu Aby utworzyæ ten projekt, wykonaj nastêpuj¹ce czynnoœci: 1. Utwórz nowy projekt aplikacji Windows i nadaj mu nazwê ReadMoreBooks. 2. Kliknij prawym przyciskiem myszy formularz Form1 w eksploratorze rozwi¹zañ i wybierz z menu podrêcznego polecenie Delete (usuñ). Kliknij przycisk OK, aby potwierdziæ zamiar usuniêcia. 3. Kliknij prawym przyciskiem myszy projekt ReadMoreBooks w eksploratorze rozwi¹zañ, wska Add (dodaj) i kliknij polecenie Add Existing Item (dodaj istniej¹cy element). 4. W oknie Add Existing Item przejdÿ do pliku Form1.vb lub pliku Form1.cs z rozdzia³u 1, kliknij go i naciœnij przycisk Open (otwórz). Do projektu ReadMoreBooks zostanie dodana nowa kopia formularza Form1. 5. Kliknij prawym przyciskiem myszy projekt ReadMoreBooks w eksploratorze rozwi¹zañ, wska Add (dodaj) i kliknij polecenie Add Existing Item (dodaj istniej¹cy element).
3 Rozdzia³ 2 Tworzenie instancji klas z konstruktorami W oknie Add Existing Item przejdÿ do pliku Book z rozdzia³u 1, kliknij go, a potem naciœnij przycisk Open (otwórz). Do projektu ReadMoreBooks zostanie dodana klasa Book. Konwersja tekstu z pola na w³aœciwoœæ Dziêki utworzeniu konstruktora bêdziemy mogli okreœlaæ, czy pole Text lub Title klasy Book jest puste. Aby dodatkowo rozszerzyæ przydatnoœæ tekstu, przekszta³cimy go na w³aœciwoœæ (w dalszej czêœci tej ksi¹ ki nie bêdzie wiele pól publicznych). 1. Kliknij dwukrotnie plik Book.vb lub Book.cs (w zale noœci od u ywanego jêzyka) w eksploratorze rozwi¹zañ, aby otworzyæ go w edytorze kodu. 2. Zmieñ pole Text na prywatne. Pamiêtaj, e zgodnie z konwencj¹ pola takie maj¹ prefiks m_. Private m_text As String = "" private string m_text = ""; 3. Dodaj definicjê w³aœciwoœci Text do klasy. Public Property Text()As String Get Return m_text End Get Set(ByVal Value As String) m_text = Value End Set End Property //Visual C# public string Text { get { return m_text; set { m_text = value; Formatowanie kodu C# W jêzyku C# do oddzielania instrukcji stosuje siê œrednik. Dziêki temu Visual C# oferuje wiêksz¹ kontrolê nad formatowaniem kodu ni Visual Basic. W cytowanym wy ej fragmencie kodu C# zastosowano bardziej zwart¹ postaæ definicji. Mo - na i warto to robiæ, o ile nie odbywa siê to kosztem czytelnoœci kodu. Dodawanie konstruktora bezparametrowego 1. Jeœli u ywasz Visual C#, w plikach Book.cs i Form1.cs zmieñ przestrzeñ nazw na ReadMoreBooks. Ten krok spowoduje, e wszystkie deklaracje klas znajd¹ siê w jednej przestrzeni nazw projektu. Dziêki temu deklarowanie zmiennych klasowych bêdzie prostsze. Zmieñ deklaracjê przestrzeni nazw na pocz¹tku pliku na nastêpuj¹c¹:
4 30 Microsoft Visual Basic.NET i Microsoft Visual C#.NET w programowaniu obiektowym // Tylko Visual C# // Zmieñ w plikach Book.cs i Form1.cs namespace ReadMoreBooks 2. W Visual Basicu, jeœli trzeba, kliknij pozycjê Book (ReadMoreBooks) na liœcie Class Name (nazwa klasy). W Visual C# kliknij pozycjê ReadMoreBooks.Book na liœcie Class Name (nazwa klasy). 3. Z listy rozwijanej Method Name (nazwa metody) wybierz pozycjê New (nowa), jeœli u ywasz Visual Basica. Kliknij pozycjê Book, jeœli u ywasz Visual C#. Do klasy Book zostanie dodany nastêpuj¹cy kod: Public Sub New() End Sub public Book() { // // Do zrobienia: Dodaæ treœæ konstruktora // Twoim nastêpnym zadaniem bêdzie utworzenie konstruktora z parametrami. Jedna klasa mo e mieæ wiele konstruktorów, o ile ró ni¹ siê one list¹ parametrów. Tworzenie konstruktora parametrycznego Podczas tworzenia konstruktorów z parametrami pamiêtaj, e kod konstruktora jest wykonywany zawsze po inicjacjach pól. Mo na zatem przes³aniaæ inicjacje pól, czyli wpisywaæ do pól wartoœci inne ni inicjacyjne. 1. Po deklaracjach pól dodaj poni szy kod, który zawiera deklaracjê konstruktora z dwoma parametrami: title i text. Nie modyfikuj istniej¹cego konstruktora, który utworzy³eœ w poprzednim podrozdziale. Public Sub New(ByVal title As String,ByVal text As String) End Sub //Visual C# public Book(string title, string text){ 2. Dodaj poni szy kod do nowego konstruktora. Dziêki temu tytu³ ani tekst ksi¹ ki nie bêdzie pusty. Jeœli jest pusty, generowany jest wyj¹tek. Wyj¹tek zatrzymuje dzia³anie programu i uniemo liwia utworzenie instancji klasy. If (title <> "") And (text <> "") And _ (Not IsNothing(title)) And (Not IsNothing(text)) Then m_title = title m_text = text Else Throw New Exception("Title or text is an empty string.") End If if ((title!= "") && (text!= "") && (title!= null) && (text!= null)) {
5 Rozdzia³ 2 Tworzenie instancji klas z konstruktorami 31 m_title = title; m_text = text; else { throw new System.Exception("Title or text is an empty string."); Jeœli usuniesz konstruktor bezparametrowy utworzony w poprzednim podrozdziale, kod kliencki zostanie zmuszony do korzystania z tego nowego konstruktora. Oznacza to, e nie zostan¹ utworzone adne instancje klasy, jeœli nie bêdzie znany tekst i tytu³ ksi¹ ki. Dodawanie metody ToString W rozdziale 1 u ywaliœmy ³añcucha znaków z pola Title podczas wyœwietlania pola listy w projekcie ReadBooks. W tym rozdziale instancje klasy Book bêd¹ przechowywane w tablicy, mo emy wiêc skorzystaæ z faktu, i Ÿród³em danych dla pola listy mo e byæ tablica. Jeœli zdefiniujemy metodê ToString dla klasy obiektów przeznaczonych do wyœwietlania, pole listy bêdzie mog³o za jej pomoc¹ wyœwietlaæ poszczególne elementy z tablicy. Dodaj tê metodê do klasy Book: Public Overrides Function ToString() As String Return m_title End Function public override string ToString() { return m_title; W przypadku biblioteki.net Framework nie mo na w³aœciwie nie zauwa yæ faktu, e wszystkie klasy s¹ pochodnymi klasy System.Object. S³owo kluczowe override (w Visual Basicu Overrides, a w Visual C# override) w deklaracji metody oznacza, e zamiast metody ToString zdefiniowanej w klasie System.Object powinna byæ u ywana metoda ToString z klasy Book. Metoda zdefiniowana w przestrzeni nazw System.Object powoduje tylko wypisanie nazwy klasy ReadMoreBooks.Book. To ju koniec zmian w definicji klasy Book. Obs³uga b³êdów sprawdzania poprawnoœci za pomoc¹ konstruktora Z sytuacj¹, w której parametr title lub text oka e siê ³añcuchem pustym, mo na poradziæ sobie na ró ne sposoby: Mo na wygenerowaæ wyj¹tek, jak w tym rozdziale. W takim przypadku nie dochodzi to utworzenia instancji klasy Book. Wykonywanie programu jest zatrzymywane na wierszu kodu zawieraj¹cym s³owo kluczowe new. Na sytuacjê tak¹ mo na zareagowaæ za pomoc¹ bloku Try (Try lub try), w którym da siê naprawiæ b³¹d.
6 32 Microsoft Visual Basic.NET i Microsoft Visual C#.NET w programowaniu obiektowym Mo na zast¹piæ pole ³añcuchem pustym. Jeœli napisa³eœ konstruktor wymuszaj¹cy stosowanie niepustych ³añcuchów w polach text i title, nie powinieneœ stosowaæ tej metody. Jeœli u y³eœ konstruktora jako wygodnego sposobu przypisywania wartoœci do w³aœciwoœci na etapie inicjacji klasy, zast¹pienie pola ³añcuchem pustym mo e byæ decyzj¹ rozs¹dn¹. Jeœli postanowisz zastêpowaæ pole ³añcuchem pustym, nie zapomnij uœwiadomiæ programistom, e pola text i title instancji klasy Book mog¹ zawieraæ ³añcuchy puste. U ywanie konstruktorów Teraz zast¹pisz wiele wierszy kodu jednym wywo³aniem konstruktora. Zast¹pisz tak e klasê Library tablic¹ i wykorzystasz mo liwoœæ wi¹zania danych biblioteki.net Framework, stosuj¹c tablicê jako Ÿród³o danych dla pola listy. Usuwanie kodu, który zostanie zast¹piony nowym 1. Kliknij prawym przyciskiem myszy pozycjê Form1 w eksploratorze rozwi¹zañ i wybierz z menu podrêcznego polecenie View Code (poka kod), aby otworzyæ edytor kodu. 2. Usuñ metodê showpage_click. 3. Usuñ deklaracjê pola Library z klasy Form1. Pole to zast¹pisz tablic¹ instancji klasy Book. ' Usuñ ten wiersz z projektu Visual Basica Private m_library As Library // Usuñ ten wiersz z projektu Visual C# private Library m_library; 4. Usuñ kod z procedury zdarzeñ Form1_Load. 5. Usuñ kod z metody listofbooks_selectedindexchanged. Zostanie ci tylko interfejs. Teraz dodasz kod, który odtworzy zachowanie programu znane z rozdzia³u 1. Tworzenie instancji klasy Book przy u yciu konstruktora Dodasz do metody Form1_Load kod tworz¹cy tablicê z instancjami klasy Book i wi¹ ¹cy j¹ z kontrolk¹ ListBox. 1. Utwórz instancjê klasy Book przeznaczon¹ na baœnie, u ywaj¹c konstruktora z dwoma parametrami. Dodaj nastêpuj¹cy kod do metody Form1_Load: Dim fairytales As Book = _ New Book("Fairy Tales", "Once upon a time there was a bear.") Book fairytales = new Book("Fairy Tales", "Once upon a time there was a bear.");
7 Rozdzia³ 2 Tworzenie instancji klas z konstruktorami 33 Zwróæ uwagê na to, e kiedy wpiszesz s³owo new lub New, w zale noœci od u ywanego jêzyka, funkcje inteligencji Visual Studio (zwane IntelliSense) wska ¹ ci, e masz zdefiniowane dwa konstruktory, jak widaæ na za³¹czonym rysunku. Gdy do dyspozycji jest wiele konstruktorów, mówimy, e s¹ one przeci¹ one. 2. Utwórz instancjê klasy Book przeznaczon¹ na przepisy kucharskie, korzystaj¹c z konstruktora z dwoma parametrami: Dim cookies As Book = New Book("Cookies", _ "Chocolate chip cookies are the most delicious cookies.") Book cookies = new Book("Cookies", "Chocolate chip cookies are the most delicious cookies."); Tworzenie tablicy instancji klasy Book 1. Po deklaracjach klasy Book dodaj nastêpuj¹cy kod, tworz¹cy tablicê: Dim m_library() As Book = New Book() {fairytales, cookies Book[] m_library = new Book[] {fairytales, cookies; 2. Po deklaracji tablicy dodaj nastêpuj¹cy kod, który sprawi, e tablica zostanie wykorzystana jako Ÿród³o danych kontrolki ListBox: listofbooks.datasource = m_library listofbooks.datasource = m_library; Oto kompletny kod metody: Private Sub Form1_Load(ByVal sender As Object, _ ByVal e As System.EventArgs) Handles MyBase.Load Dim fairytales As Book = _ New Book("Fairy Tales", "Once upon a time there was a bear.") Dim cookies As Book = New Book("Cookies", _ "Chocolate chip cookies are the most delicious cookies.") Dim m_library() As Book = New Book() {fairytales, cookies listofbooks.datasource = m_library End Sub private void Form1_Load(object sender, System.EventArgs e) { Book fairytales = new
8 34 Microsoft Visual Basic.NET i Microsoft Visual C#.NET w programowaniu obiektowym Book("Fairy Tales", "Once upon a time there was a bear."); Book cookies = new Book("Cookies", "Chocolate chip cookies are the most delicious cookies."); Book[] m_library = new Book[] {fairytales, cookies; listofbooks.datasource = m_library; Reagowanie na wybranie elementu z listy reprezentowanej kontrolk¹ ListBox Po uruchomieniu aplikacji w kontrolce ListBox pojawi¹ siê tytu³y ksi¹ ek. Poniewa Ÿród³em danych kontrolki ListBox jest tablica instancji klasy Book, ka dy element z listy reprezentuje jedn¹ instancjê klasy Book. Teraz dodasz kod, który bêdzie pobiera³ dan¹ instancjê i wyœwietla³ wybran¹ stronê. 1. Do obs³ugi zdarzenia SelectedIndexChanged kontrolki ListBox o nazwie listofbooks dodaj nastêpuj¹cy kod: Dim thebook As Book = CType(listOfBooks.SelectedItem, Book) Book thebook = (Book)(listOfBooks.SelectedItem); Jak widzia³eœ w rozdziale 1, obiekty z kontrolki ListBox s¹ traktowane jak instancje obiektu System.Object. Metoda CType nie zmienia instancji, a jedynie jej widok w czasie wykonywania kodu. Sk³adnia C# jest trochê inna, ale ma taki sam efekt. Egzemplarz ksi¹ ki bêdzie traktowany nie jak instancja klasy System.Object, ale jak instancja klasy Book. 2. Pod instrukcj¹ CType dodaj nastêpuj¹cy kod, wyœwietlaj¹cy tekst jednej strony: titlelabel.text = thebook.title thebook.pagelength = Decimal.ToInt32(pageLength.Value) page.text = thebook.getpage(decimal.toint32(pagetodisplay.value)) titlelabel.text = thebook.title; thebook.pagelength = Decimal.ToInt32(pageLength.Value); page.text = thebook.getpage(decimal.toint32(pagetodisplay.value)); Poniewa pagelength.value jest w³aœciwoœci¹ stringow¹ kontrolki pagelength, nie mo na bezpoœrednio przypisaæ jej wartoœci do w³aœciwoœci ca³kowitoliczbowej thebook.pagelength. Dlatego potrzebna jest metoda Decimal.ToInt32, która przekszta³ci string pagelength.value na liczbê ca³kowit¹. 3. Uruchom i przetestuj program. Powinien dzia³aæ tak samo jak aplikacja z rozdzia³u 1. Te dwa æwiczenia demonstruj¹ pewne opcje dostêpne przy projektowaniu obiektów i aplikacji. W rozdziale 1 zaprojektowa³eœ klasy Book i Library, które mia³y stanowiæ model do rozwi¹zywanego zadania. W tym rozdziale zaprojektowa³eœ tylko klasê Book, a potem zaimplementowa³eœ funkcjonalnoœæ klasy Library, wykorzystuj¹c mo li-
9 Rozdzia³ 2 Tworzenie instancji klas z konstruktorami 35 woœci kontrolek systemu Windows dla platformy.net. Funkcjonalnoœæ klasy Library zapewni³a kontrolka ListBox wspó³pracuj¹ca z tablic¹. Deklarowanie i inicjowanie tablic Tablice instancji klas mo na deklarowaæ i inicjowaæ na wiele sposobów. Oto sk³adnia zastosowana w poprzednim podrozdziale (Visual Basic): Dim m_library() As Book = New Book() {fairytales, cookies A to inny sposób zadeklarowania tej samej tablicy: Dim books() As Book = _ {New Book("Title1", "Text1"), New Book("Title2", "Text2") Jeszcze inny: Dim m_library() As Book = {fairytales, cookies I jeszcze inny: Dim books(2) As Book books(0) = New Book("Title1", "Text1") books(1) = New Book("Title2", "Text2") books(2) = New Book("Title3", "Text3") Typy referencyjne i wartoœciowe Aby zrozumieæ, o co chodzi w ostatnich trzech fragmentach kodu, musisz poznaæ pojêcie typu referencyjnego i typu wartoœciowego w jêzykach Visual Basic i Visual C#. Ka da zmienna deklarowana w tej ksi¹ ce bêdzie jednego b¹dÿ drugiego typu. Typy danych w Visual Basicu i C# W jêzyku Visual Basic ka da zmienna jest typu referencyjnego lub wartoœciowego. W jêzyku C# wystêpuje jeszcze trzecia kategoria: typy wskaÿnikowe. Zmiennej typu wskaÿnikowego, podobnej do wskaÿnika z C++, mo na u yæ tylko w niezabezpieczonym bloku kodu. W tej ksi¹ ce nie zajmujemy siê kodem niezabezpieczonym. Zmienn¹ typu referencyjnego tworzymy za ka dym razem, gdy deklarujemy j¹ jako: klasê (na przyk³ad Book), interfejs (interfejsy s¹ omawiane w rozdziale 9), tablicê (na przyk³ad Dim numbers() as Integer), string, obiekt (na przyk³ad Dim x As Object), delegacjê (delegacje zostan¹ omówione w rozdziale 7). Typ wartoœciowy powstaje w wyniku zadeklarowania zmiennej jako typu: ca³kowitoliczbowego (na przyk³ad Integer lub int),
10 36 Microsoft Visual Basic.NET i Microsoft Visual C#.NET w programowaniu obiektowym zmiennopozycyjnego (na przyk³ad Double lub double), logicznego (na przyk³ad Boolean lub bool), wyliczeniowego (na przyk³ad System), strukturowego (na przyk³ad DateTime). Zarówno w przypadku deklarowania zmiennej typu wartoœciowego, jak i przy deklarowaniu zmiennej typu referencyjnego dla zmiennej rezerwowane jest pewne miejsce w pamiêci. Jednak w przypadku typu wartoœciowego w miejscu tym przechowywana jest wartoœæ zmiennej, a w przypadku zmiennej typu referencyjnego referencja do wartoœci (instancji klasy znajduj¹cej siê gdzieœ w pamiêci). Zatem deklaracje referencyjne powoduj¹ zarezerwowanie tylko takiej iloœci pamiêci, która wystarczy na odwo³anie siê do instancji klasy Book. Dim abook as Book; Book abook; Gdy instancja klasy tworzona jest za pomoc¹ operatora new (w Visual Basicu New, a w Visual C# new), rezerwowana jest pamiêæ na pola zadeklarowane w klasie. Poni - sze wyra enia powoduj¹ zarezerwowanie pamiêci na pola Text, PageLength i Title klasy Book. Operator new zwraca adres miejsc w pamiêci zawieraj¹cych wartoœci pól. New Book("theTitle", "thetext") new Book("theTitle", "thetext") Poni sze instrukcje tworz¹ instancjê klasy Book i przypisuj¹ zmiennej abook miejsce nowej instancji. abook = New Book("theTitle", "thetext") abook = new Book("theTitle", "thetext") Jaka jest zatem wartoœæ zmiennej abook w pierwszym zestawie instrukcji, zanim nast¹pi powy sze przypisanie? Z definicji wartoœci¹ typu referencyjnego przed inicjacj¹ jest Nothing w Visual Basicu oraz null w C#. Poni szy kod zwraca wartoœæ True: Dim abook as Book MessageBox.Show((aBook Is Nothing).ToString()) Book abook; MessageBox.Show((aBook == null).tostring()); Visual Basic do testowania wartoœci typów referencyjnych oferuje s³owo kluczowe Is.C# pozwala na stosowanie operatora porównania ==. Visual Basic udostêpnia te metodê IsNothing do testowania wartoœci referencji. Zwraca ona wartoœæ logiczn¹ True, jeœli referencja jest równa Nothing. Poni szy fragment kodu jest odpowiednikiem poprzedniego: Dim abook As Book MessageBox.Show(IsNothing(aBook).ToString()) Jeœli spróbujesz u ywaæ w³aœciwoœci lub metod referencji równej Nothing, zostanie wygenerowany b³¹d, a to dlatego, e nie ma jeszcze danych instancji, na których mo -
11 Rozdzia³ 2 Tworzenie instancji klas z konstruktorami 37 na by operowaæ. B³¹d ten jest znany jako wyj¹tek System.NullReferenceException. Aby program sta³ siê bardziej odporny, nale y sprawdzaæ, czy dana referencja nie jest równa null (w przypadku Visual Basica Nothing). Sprawdzenie takie nale y stosowaæ szczególnie w przypadku przekazywania metody jako parametru. Mamy bowiem wtedy mniejsz¹ kontrolê nad stanem zmiennej. Specyfika typów referencyjnych dotyka takich zagadnieñ, jak kopiowanie, sprawdzanie równoœci i zbieranie œmieci (odzyskiwanie pamiêci). Kopiowanie omawiane jest w rozdziale 10, sprawdzanie równoœci w rozdziale 12, a zbieranie œmieci w rozdziale 8. Deklaracje tablic W pierwszych trzech przyk³adach z podrozdzia³u Deklarowanie i inicjowanie tablic u yto ró nych odmian nastêpuj¹cej sk³adni: Dim m_library() As Book = {fairytales, cookies W tym przyk³adzie tablicê elementów otrzymujemy dziêki nawiasom klamrowym. Identyfikator fairytales mo na zast¹piæ wyra eniem New Book("Fairy Tales", "Once upon a time"), poniewa wyra enie to zwraca referencjê do instancji klasy. Ten przyk³ad jest nieco inny od pozosta³ych: Dim books(2) As Book books(0) = New Book("Title1", "Text1") books(1) = New Book("Title2", "Text2") books(2) = New Book("Title3", "Text3") Pierwsza instrukcja nie tworzy adnych instancji klasy Book. Tworzy jedynie tablicê instancji klasy Book. W wierszach od drugiego do czwartego instancje klasy Book s¹ tworzone i przypisywane do referencji. Krótkie podsumowanie Zadanie tworzenie konstruktora bez parametrów tworzenie konstruktora parametrycznego Sposób wykonania Wybierz w edytorze kodu nazwê klasy z listy Class Name (nazwa klasy) i wybierz New (w przypadku Visual Basica) lub nazwê klasy z listy (w Visual C#) z listy rozwijanej Method Name (nazwa metody). Albo Dodaj ten kod (Visual Basic): Public Sub New() End Sub Lub ten kod (Visual C#): public Book() { Utwórz konstruktor bez parametrów. Dodaj parametry tak samo jak w przypadku metody dowolnej klasy.
12 38 Microsoft Visual Basic.NET i Microsoft Visual C#.NET w programowaniu obiektowym Zadanie tworzenie tablicy instancji referencji tworzenie tablicy instancji sprawdzanie, czy referencja jest równa Nothing b¹dÿ null Sposób wykonania Dodaj nastêpuj¹cy kod (Visual Basic): Dim books() As Book lub kod (Visual C#): Book[] books; Dodaj nastêpuj¹cy kod (Visual Basic): Dim books() As Book = _ { New Book(), New Book() lub kod (Visual C#): Book[] books = { new Book(), new Book(); Dodaj nastêpuj¹cy kod (Visual Basic): Dim abook As Book If IsNothing(aBook) Then ' Miejsce na kod dla ' referencji pustej End If lub kod (Visual C#): Book abook; if (abook == null) { // Miejsce na kod dla // referencji pustej
Klasa bazowa i klasy potomne - doskonalenie umiejtnoci projektowania i wykorzystania klas (45 min)
Zadanie5_28 Klasa bazowa i klasy potomne - doskonalenie umiejtnoci projektowania i wykorzystania klas (45 min) Opis zadania Wykorzystaj gotowy projekt Nowe auto, a nastpnie zaprojektuj klas bazow NoweAuto
Bardziej szczegółowogdy wielomian p(x) jest podzielny bez reszty przez trójmian kwadratowy x rx q. W takim przypadku (5.10)
5.5. Wyznaczanie zer wielomianów 79 gdy wielomian p(x) jest podzielny bez reszty przez trójmian kwadratowy x rx q. W takim przypadku (5.10) gdzie stopieñ wielomianu p 1(x) jest mniejszy lub równy n, przy
Bardziej szczegółowoWykł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
Bardziej szczegółowo0.1 Hierarchia klas. 0.1.1 Diagram. 0.1.2 Krótkie wyjaśnienie
0.1 Hierarchia klas 0.1.1 Diagram 0.1.2 Krótkie wyjaśnienie Po pierwsze to jest tylko przykładowe rozwiązanie. Zarówno na wtorkowych i czwartkowych ćwiczeniach odbiegaliśmy od niego, ale nie wiele. Na
Bardziej szczegółowoAplikacje internetowe i rozproszone - laboratorium
Aplikacje internetowe i rozproszone - laboratorium Web Services (część 3). Do wykonania ćwiczeń potrzebne jest zintegrowane środowisko programistyczne Microsoft Visual Studio 2005. Visual Studio 2005 jest
Bardziej szczegółowoER RATA do ksi¹ ki "Symfonia C++ Stan dard". wydanie 3. (Zawieraj¹ca tak e czysto kosmetyczne poprawki) Sporz¹dzona 4 paÿdziernika 2009.
ER RATA do ksi¹ ki "Symfonia C++ Stan dard". wydanie 3. (Zawieraj¹ca tak e czysto kosmetyczne poprawki) Sporz¹dzona 4 paÿdziernika 2009. Strona wiersz G - od góry D - od do³u Jest Powinno byæ 1 6 D nadzieje
Bardziej szczegółowoDziedziczenie : Dziedziczenie to nic innego jak definiowanie nowych klas w oparciu o już istniejące.
Programowanie II prowadzący: Adam Dudek Lista nr 8 Dziedziczenie : Dziedziczenie to nic innego jak definiowanie nowych klas w oparciu o już istniejące. Jest to najważniejsza cecha świadcząca o sile programowania
Bardziej szczegółowo- Narzędzie Windows Forms. - Przykładowe aplikacje. Wyższa Metody Szkoła programowania Techniczno Ekonomiczna 1 w Świdnicy
Wyższa Metody Szkoła programowania Techniczno Ekonomiczna 1 w Świdnicy - Narzędzie Windows Forms - Przykładowe aplikacje 1 Narzędzia Windows Form Windows Form jest narzędziem do tworzenia aplikacji dla
Bardziej szczegółowoZA CZNIK C: FUNKCJE KLAWISZY I SPOSOBY WPROWADZANIA PARAMETRÓW
ZA CZNIKI ZA CZNIK C: FUNKCJE KLAWISZY I SPOSOBY WPROWADZANIA PARAMETRÓW Pola, do których wprowadzamy dane, mog¹ byæ: znakowe, numeryczne, typu daty oraz typu memo (pola tekstowe). Istniej¹ ró nice w wykorzystaniu
Bardziej szczegółowo2. W oknie dialogowym Choose Toolbox Items w zakładce.net Framework Components naciskamy przycisk Browse...
KORZYSTANIE Z KONTROLKI.NET LENDEVICERS232 DODAWANIE KONTROLKI DO ZBIORU KOMPONENTÓW DOSTĘPNYCH W PALECIE TOOLBOX (ŚRODOWISKA PROGRAMISTYCZNE FIRMY MICROSOFT) W środowisku programistycznym (Visual C++,
Bardziej szczegółowoĆwiczenie laboratoryjne. Oprogramowanie i badanie stosu lub kolejki w środowisku Visual Basic 2005
Ćwiczenie laboratoryjne Oprogramowanie i badanie stosu lub kolejki w środowisku Visual Basic 2005 Tematy ćwiczenia realizacja stosu lub kolejki dla tablicowej lub listowej reprezentacji. operacje na stosie
Bardziej szczegółowoProgramowanie 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;
Bardziej szczegółowoKompozycja i dziedziczenie klas
Programowanie obiektowe Kompozycja i dziedziczenie klas Paweł Rogaliński Instytut Informatyki, Automatyki i Robotyki Politechniki Wrocławskiej pawel.rogalinski pwr.wroc.pl Kompozycja i dziedziczenie klas
Bardziej szczegółowoPodstawy programowania. Ćwiczenie. Pojęcia bazowe. Języki programowania. Środowisko programowania Visual Studio
Podstawy programowania Ćwiczenie Pojęcia bazowe. Języki programowania. Środowisko programowania Visual Studio Tematy ćwiczenia algorytm, opis języka programowania praca ze środowiskiem, formularz, obiekty
Bardziej szczegółowoKLASA 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
Bardziej szczegółowoProgramowanie obiektowe
Laboratorium z przedmiotu Programowanie obiektowe - zestaw 07 Cel zajęć. Celem zajęć jest zapoznanie z praktycznymi aspektami tworzenia aplikacji okienkowych w C#. Wprowadzenie teoretyczne. Rozważana w
Bardziej szczegółowo3 Delegacje. 3.1 Tworzenie delegacji. 3.2 Skojarzenie delegacji z procedurą czy funkcją
3 Delegacje Delegacja to specjalny typ danych, który przechowuje referencję (adres) do procedury lub funkcji. W środowisku.net delegacja jest odpowiednikiem wskaźnika (pointer) do funkcji znanego z języka
Bardziej szczegółowoKLASA 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
Bardziej szczegółowoTEMAT : 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ą
Bardziej szczegółowoWykł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
Bardziej szczegółowoProgramowanie obiektowe i zdarzeniowe wykład 4 Kompozycja, kolekcje, wiązanie danych
Programowanie obiektowe i zdarzeniowe wykład 4 Kompozycja, kolekcje, wiązanie danych Obiekty reprezentują pewne pojęcia, przedmioty, elementy rzeczywistości. Obiekty udostępniają swoje usługi: metody operacje,
Bardziej szczegółowoProgramowanie obiektowe
Wykład 2 28 lutego 2019 Plan wykładu 1 2 3 4 5 Plan wykładu 1 2 3 4 5 Krótki opis C Obiektowy, z kontrolą typów; automatyczne odśmiecanie; standardy ISO i ECMA; podobny składniowo do C++; Język C Krótka
Bardziej szczegółowo1. Podstawy budowania wyra e regularnych (Regex)
Dla wi kszo ci prostych gramatyk mo na w atwy sposób napisa wyra enie regularne które b dzie s u y o do sprawdzania poprawno ci zda z t gramatyk. Celem niniejszego laboratorium b dzie zapoznanie si z wyra
Bardziej szczegółowoWykład 5: Klasy cz. 3
Programowanie obiektowe Wykład 5: cz. 3 1 dr Artur Bartoszewski - Programowanie obiektowe, sem. 1I- WYKŁAD - podstawy Konstruktor i destruktor (część I) 2 Konstruktor i destruktor KONSTRUKTOR Dla przykładu
Bardziej szczegółowo1. 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
Bardziej szczegółowoMicrosoft Management Console
Microsoft Management Console Konsola zarządzania jest narzędziem pozwalającym w prosty sposób konfigurować i kontrolować pracę praktycznie wszystkich mechanizmów i usług dostępnych w sieci Microsoft. Co
Bardziej szczegółowoTablice, DataGridView
Tablice, DataGridView Gdy rośnie liczba danych do przechowywania w programie, a następnie ich obrobienia - pojawiają się nowe struktury danych (moŝna by powiedzieć pojemniki na dane) zwane tablicami. Tablica
Bardziej szczegółowo2. Kliknij Insert->Userform. Jeżeli Toolbox nie pojawi się automatycznie, kliknij View -> Toolbox. Otrzymany widok powinien być jak poniżej.
Formularze VBA Przykład1 INTERAKTYWNY FORMULARZ Program tworzący interaktywny formularz. Objaśnienie: w dowolnym momencie można wprowadzić wartość w polu tekstowym ID, Excel VBA wczytuje odpowiedni rekord.
Bardziej szczegółowoWykład 12. Programowanie serwera MS SQL 2005 w C#
Wykład 12 Programowanie serwera MS SQL 2005 w C# Budowa procedur składowanych w C# Budowa funkcji składowanych w C# Wykorzystanie funkcji składowanych w C# po stronie klienta Tworzenie typów definiowanych
Bardziej szczegółowoInstrukcja obsługi Norton Commander (NC) wersja 4.0. Autor: mgr inż. Tomasz Staniszewski
Instrukcja obsługi Norton Commander (NC) wersja 4.0 Autor: mgr inż. Tomasz Staniszewski ITM Zakład Technologii Maszyn, 15.10.2001 2 1.Uruchomienie programu Aby uruchomić program Norton Commander standardowo
Bardziej szczegółowoAplikacje geodezyjne
Aplikacje geodezyjne 1. Azymut ze współrzędnych Utwórz nowy projekt o nazwie Azymut. W oknie rozmieść kontrolki mniej więcej zgodnie z rysunkiem. Obiekty mają zmienione następujące wartości cech: cecha
Bardziej szczegółowoWykł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
Bardziej szczegółowoKurs programowania. Wykład 1. Wojciech Macyna. 3 marca 2016
Wykład 1 3 marca 2016 Słowa kluczowe języka Java abstract, break, case, catch, class, const, continue, default, do, else, enum, extends, final, finally, for, goto, if, implements, import, instanceof, interface,
Bardziej szczegółowoInstalacja. Zawartość. Wyszukiwarka. Instalacja... 1. Konfiguracja... 2. Uruchomienie i praca z raportem... 4. Metody wyszukiwania...
Zawartość Instalacja... 1 Konfiguracja... 2 Uruchomienie i praca z raportem... 4 Metody wyszukiwania... 6 Prezentacja wyników... 7 Wycenianie... 9 Wstęp Narzędzie ściśle współpracujące z raportem: Moduł
Bardziej szczegółowoPROE wykład 2 operacje na wskaźnikach. dr inż. Jacek Naruniec
PROE wykład 2 operacje na wskaźnikach dr inż. Jacek Naruniec Zmienne automatyczne i dynamiczne Zmienne automatyczne: dotyczą kontekstu, po jego opuszczeniu są usuwane, łatwiejsze w zarządzaniu od zmiennych
Bardziej szczegółowoTechniki 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
Bardziej szczegółowoWprowadzenie do programowania w języku Visual Basic. Podstawowe instrukcje języka
Wprowadzenie do programowania w języku Visual Basic. Podstawowe instrukcje języka 1. Kompilacja aplikacji konsolowych w środowisku programistycznym Microsoft Visual Basic. Odszukaj w menu startowym systemu
Bardziej szczegółowoAplikacje w środowisku VBA. Visual Basic for Aplications
Aplikacje w środowisku VBA Visual Basic for Aplications Podstawowe informacje o VBA Visual Basic for Aplications, w skrócie VBA, to język programowania rozwijany przez Microsoft, którego zastosowanie pozwala
Bardziej szczegółowoProgramowanie obiektowe
Programowanie obiektowe Wykład 2: Wstęp do języka Java 3/4/2013 S.Deniziak: Programowanie obiektowe - Java 1 Cechy języka Java Wszystko jest obiektem Nie ma zmiennych globalnych Nie ma funkcji globalnych
Bardziej szczegółowoKlasy i obiekty cz II
Materiał pomocniczy do kursu Podstawy programowania Autor: Grzegorz Góralski ggoralski.com Klasy i obiekty cz II Hermetyzacja, mutatory, akcesory, ArrayList Rozwijamy aplikację Chcemy, aby obiekty klasy
Bardziej szczegółowoKurs 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
Bardziej szczegółowoObiekt klasy jest definiowany poprzez jej składniki. Składnikami są różne zmienne oraz funkcje. Składniki opisują rzeczywisty stan obiektu.
Zrozumienie funkcji danych statycznych jest podstawą programowania obiektowego. W niniejszym artykule opiszę zasadę tworzenia klas statycznych w C#. Oprócz tego dowiesz się czym są statyczne pola i metody
Bardziej szczegółowoRozdział 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
Bardziej szczegółowoScenariusz lekcji. Scenariusz lekcji 1 TEMAT LEKCJI: 2 CELE LEKCJI: 2.1 Wiadomości: 2.2 Umiejętności: 3 METODY NAUCZANIA: 4 ŚRODKI DYDAKTYCZNE:
Praca z projektemi w MS VB.NET Scenariusz lekcji Scenariusz lekcji 1 TEMAT LEKCJI: Praca z projektami w MS VB.NET. 2 CELE LEKCJI: 2.1 Wiadomości: Uczeń potrafi: podać definicje podstawowych pojęć związanych
Bardziej szczegółowoKomunikacja w sieci Industrial Ethernet z wykorzystaniem Protokołu S7 oraz funkcji PUT/GET
PoniŜszy dokument zawiera opis konfiguracji programu STEP7 dla sterowników SIMATIC S7 300/S7 400, w celu stworzenia komunikacji między dwoma stacjami S7 300 za pomocą sieci Industrial Ethernet, protokołu
Bardziej szczegółowoPodstawy programowania skrót z wykładów:
Podstawy programowania skrót z wykładów: // komentarz jednowierszowy. /* */ komentarz wielowierszowy. # include dyrektywa preprocesora, załączająca biblioteki (pliki nagłówkowe). using namespace
Bardziej szczegółowoInformatyka 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
Bardziej szczegółowoLaboratorium 1 - Programowanie proceduralne i obiektowe
Laboratorium 1 - Programowanie proceduralne i obiektowe mgr inż. Kajetan Kurus 4 marca 2014 1 Podstawy teoretyczne 1. Programowanie proceduralne (powtórzenie z poprzedniego semestru) (a) Czym się charakteryzuje?
Bardziej szczegółowoProgramowanie obiektowe. Obiekt Klasa Składnia klasy: Interfejsy Składnia interfejsu: Metody Składnia instrukcji Sub: Składnia instrukcji function:
Programowanie obiektowe. Obiekt Obiekt to dowolny element, który możemy wydzielić i którym możemy manipulować. W terminologii informatycznej obiekt to samodzielna jednostka zawierająca zarówno dane, jak
Bardziej szczegółowoC++ - przeciążanie operatorów. C++ - przeciążanie operatorów. C++ - przeciążanie operatorów. C++ - przeciążanie operatorów
Operatory są elementami języka C++. Istnieje zasada, że z elementami języka, takimi jak np. słowa kluczowe, nie można dokonywać żadnych zmian, przeciążeń, itp. PRZECIĄŻANIE OPERATORÓW Ale dla operatorów
Bardziej szczegółowoPolitechnika Poznańska Wydział Budowy Maszyn i Zarządzania
1) Cel ćwiczenia Celem ćwiczenia jest zapoznanie się z podstawowymi elementami obiektowymi systemu Windows wykorzystując Visual Studio 2008 takimi jak: przyciski, pola tekstowe, okna pobierania danych
Bardziej szczegółowoLaboratorium 03: Podstawowe konstrukcje w języku Java [2h]
1. Typy. Java jest językiem programowania z silnym systemem kontroli typów. To oznacza, że każda zmienna, atrybut czy parametr ma zadeklarowany typ. Kompilator wylicza typy wszystkich wyrażeń w programie
Bardziej szczegółowoStronicowanie na ¹danie
Pamiêæ wirtualna Umo liwia wykonywanie procesów, pomimo e nie s¹ one w ca³oœci przechowywane w pamiêci operacyjnej Logiczna przestrzeñ adresowa mo e byæ du o wiêksza od fizycznej przestrzeni adresowej
Bardziej szczegółowoProjektowanie bazy danych
Projektowanie bazy danych Pierwszą fazą tworzenia projektu bazy danych jest postawienie definicji celu, założeo wstępnych i określenie podstawowych funkcji aplikacji. Każda baza danych jest projektowana
Bardziej szczegółowoKurs programowania. Wykład 9. Wojciech Macyna. 28 kwiecień 2016
Wykład 9 28 kwiecień 2016 Java Collections Framework (w C++ Standard Template Library) Kolekcja (kontener) Obiekt grupujacy/przechowuj acy jakieś elementy (obiekty lub wartości). Przykładami kolekcji sa
Bardziej szczegółowoMicrosoft.NET: ASP.NET MVC + Entity Framework (Code First)
Microsoft.NET: ASP.NET MVC + Entity Framework (Code First) Do realizacji projektu potrzebne jest zintegrowane środowisko programistyczne Microsoft Visual Studio 2012. W ramach projektu budowana jest prosta
Bardziej szczegółowoPraca na wielu bazach danych część 2. (Wersja 8.1)
Praca na wielu bazach danych część 2 (Wersja 8.1) 1 Spis treści 1 Analizy baz danych... 3 1.1 Lista analityczna i okno szczegółów podstawowe informacje dla każdej bazy... 3 1.2 Raporty wykonywane jako
Bardziej szczegółowoInstalacja sterowników do urz¹dzeñ wielkoformatowych zainstalowanych w firmie Centrum Ksero STUDIO K2 s.c w Pile
Instalacja sterowników do urz¹dzeñ wielkoformatowych zainstalowanych w firmie Centrum Ksero STUDIO K2 s.c w Pile sterowniki znajduj¹ siê na stronie www.centrumksero.pl w zak³adce DO POBRANIA/STEROWNIKI
Bardziej szczegółowoPlatformy Programistyczne Podstawy języka Java
Platformy Programistyczne Podstawy języka Java Agata Migalska 6 maja 2014 Plan wykładu 1 Sztuka wysławiania się w języku Java 2 Cały świat jest obiektem 3 Kolekcje 4 Zmienne i metody statyczne 5 Słowo
Bardziej szczegółowoRys Mo liwe postacie funkcji w metodzie regula falsi
5.3. Regula falsi i metoda siecznych 73 Rys. 5.1. Mo liwe postacie funkcji w metodzie regula falsi Rys. 5.2. Przypadek f (x), f (x) > w metodzie regula falsi 74 V. Równania nieliniowe i uk³ady równañ liniowych
Bardziej szczegółowoASP.NET MVC. Podstawy. Zaawansowane programowanie internetowe Instrukcja nr 3
3 ASP.NET MVC Podstawy 1 1. Cel zajęć Celem zajęć jest zapoznanie się z podstawami ASP.NET MVC 2.0 Framework. 2. Zadanie Proszę zbudować prostą aplikację WWW przy zastosowaniu framework a ASP.NET MVC 2.0
Bardziej szczegółowoPlatforma.NET laboratorium 4 Aktualizacja: 15/11/2013. Visual Basic.NET dostęp do bazy danych. Baza Microsoft SQL Server Compact
Platforma.NET laboratorium 4 Aktualizacja: 15/11/2013 Prowadzący: mgr inż. Tomasz Jaworski Strona WWW: http://tjaworski.kis.p.lodz.pl/ Visual Basic.NET dostęp do bazy danych Baza Microsoft SQL Server Compact
Bardziej szczegółowo1 LINQ. Zaawansowane programowanie internetowe Instrukcja nr 1
1 LINQ 1 1. Cel zajęć Celem zajęć jest zapoznanie się z technologią LINQ oraz tworzeniem trójwarstwowej aplikacji internetowej. 2. Zadanie Proszę przygotować aplikację WWW, która: będzie pozwalała na generowanie
Bardziej szczegółowoSpis treści 1. Wstęp 2. Projektowanie systemów informatycznych
Spis treści 1. Wstęp... 9 1.1. Inżynieria oprogramowania jako proces... 10 1.1.1. Algorytm... 11 1.2. Programowanie w językach wysokiego poziomu... 11 1.3. Obiektowe podejście do programowania... 12 1.3.1.
Bardziej szczegółowoWartości domyślne, szablony funkcji i klas
Bogdan Kreczmer bogdan.kreczmer@pwr.wroc.pl Zakład Podstaw Cybernetyki i Robotyki Instytut Informatyki, Automatyki i Robotyki Politechnika Wrocławska Kurs: Copyright c 2012 Bogdan Kreczmer Niniejszy dokument
Bardziej szczegółowoRozdzia l 3. Laboratorium 3. danych zawierajac
Rozdzia l 3 Laboratorium 3 3.1. Tablice Tablica jest struktura danych zawierajac a zmienne tego samego typu. CLR środowiska.net Framework wspiera tworzenie tablic jedno oraz wielo wymiarowych. 3.1.1. Tablice
Bardziej szczegółowoSystem zarządzania bazą danych (SZBD) Proces przechodzenia od świata rzeczywistego do jego informacyjnej reprezentacji w komputerze nazywać będziemy
System zarządzania bazą danych (SZBD) Proces przechodzenia od świata rzeczywistego do jego informacyjnej reprezentacji w komputerze nazywać będziemy modelowaniem, a pewien dobrze zdefiniowany sposób jego
Bardziej szczegółowoProgramowanie obiektowe
Programowanie obiektowe Wykład 4 Marcin Młotkowski 15 marca 2018 Plan wykładu 1 2 3 Klasa podstawowa Własne kolekcje Obiekty i wartości Marcin Młotkowski Programowanie obiektowe 141 / 224 Z czego składa
Bardziej szczegółowoZaawansowane aplikacje internetowe - laboratorium
Zaawansowane aplikacje internetowe - laboratorium Web Services (część 3). Do wykonania ćwiczeń potrzebne jest zintegrowane środowisko programistyczne Microsoft Visual Studio 2005. Ponadto wymagany jest
Bardziej szczegółowoUML a kod w C++ i Javie. Przypadki użycia. Diagramy klas. Klasy użytkowników i wykorzystywane funkcje. Związki pomiędzy przypadkami.
UML a kod w C++ i Javie Projektowanie oprogramowania Dokumentowanie oprogramowania Diagramy przypadków użycia Przewoznik Zarzadzanie pojazdami Optymalizacja Uzytkownik Wydawanie opinii Zarzadzanie uzytkownikami
Bardziej szczegółowoPo³¹czenie iphone'a/ipad a do Smart Multishare USB
INSTRUKCJA OBSLUGI Po³¹czenie iphone'a/ipad a do Smart Multishare USB Smart Multishare USB jest produktem, który pozwala Ci bezprzewodowo transmitowaæ elementy takie jak zdjêcia, filmy video, muzykê i
Bardziej szczegółowoDJCONTROL INSTINCT I DJUCED PIERWSZE KROKI
DJCONTROL INSTINCT I DJUCED PIERWSZE KROKI INSTALACJA Włóż płytę CD-ROM. Uruchom program instalacyjny. Wykonaj instrukcje. 1 6 2 7 3 4 5 1- alans kanałów 1 2 (wyjście miksu) 2- Głośność kanału 1 (lewego)
Bardziej szczegółowoRozliczenia z NFZ. Ogólne założenia. Spis treści
Rozliczenia z NFZ Spis treści 1 Ogólne założenia 2 Generacja raportu statystycznego 3 Wczytywanie raportu zwrotnego 4 Szablony rachunków 4.1 Wczytanie szablonów 4.2 Wygenerowanie dokumentów rozliczenia
Bardziej szczegółowoSTRUKTURA MENU STRUKTURA MENU
ZA CZNIKI STRUKTURA MENU Po wywo³aniu systemu SM-BOSS (poprzez napisanie BOSS i wciœniêcie klawisza Enter) na ekranie zobaczymy g³ówne menu systemu. Standardowo sk³ada siê ono z pozycji, które pozwalaj¹
Bardziej szczegółowoInformacje ogólne. Karol Trybulec p-programowanie.pl 1. 2 // cialo klasy. class osoba { string imie; string nazwisko; int wiek; int wzrost;
Klasy w C++ są bardzo ważnym narzędziem w rękach programisty. Klasy są fundamentem programowania obiektowego. Z pomocą klas będziesz mógł tworzyć lepszy kod, a co najważniejsze będzie on bardzo dobrze
Bardziej szczegółowoIV. UK ADY RÓWNAÑ LINIOWYCH
IV. UK ADY RÓWNAÑ LINIOWYCH 4.1. Wprowadzenie Uk³ad równañ liniowych gdzie A oznacza dan¹ macierz o wymiarze n n, a b dany n-elementowy wektor, mo e byæ rozwi¹zany w skoñczonej liczbie kroków za pomoc¹
Bardziej szczegółowoProsta książka telefoniczna z wykorzystaniem zapisu do pliku
Prosta książka telefoniczna z wykorzystaniem zapisu do pliku Celem zajęć będzie napisanie prostego programu okienkowego, którego zadaniem będzie zapisywanie imienia, nazwiska, adresu-email oraz numeru
Bardziej szczegółowoPHP 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
Bardziej szczegółowoInstrukcja laboratoryjna nr.4
Języki programowania na platformie.net cz.2 2016/17 Instrukcja laboratoryjna nr.4 Język Visual Basic for.net Prowadzący: Tomasz Goluch Wersja: 3.1 I. Współpraca Visual Basic z C# Cel: Wykorzystanie w kodzie
Bardziej szczegółowoWstęp do programowania obiektowego. Wykład 2
Wstęp do programowania obiektowego Wykład 2 1 CECHY I KONCEPCJA PROGRAMOWANIA OBIEKTOWEGO 2 Cechy programowania obiektowego Dla wielu problemów podejście obiektowe jest zgodne z rzeczywistością (łatwe
Bardziej szczegółowoPlatforma.NET laboratorium 1. Visual Basic.NET podstawowe elementy języka. Wykonanie warunkowe If End If
Platforma.NET laboratorium 1 Prowadzący: mgr inż. Tomasz Jaworski Strona WWW: http://tjaworski.kis.p.lodz.pl/ Visual Basic.NET podstawowe elementy języka Poniżej przedstawiono podstawowe instrukcje sterujące
Bardziej szczegółowoTen odcinek Akademii PC Kuriera poświęcony zostanie tworzeniu i wykorzystaniu funkcji i procedur w języku Visual Basic.NET.
Ten odcinek Akademii PC Kuriera poświęcony zostanie tworzeniu i wykorzystaniu funkcji i procedur w języku Visual Basic.NET. Czym są procedury? Efektywne tworzenie często polegać będzie na ponownym wykorzystywaniu
Bardziej szczegółowoRozdział 3. Zapisywanie stanu aplikacji w ustawieniach lokalnych
Rozdział 3. Zapisywanie stanu aplikacji w ustawieniach lokalnych Jacek Matulewski Materiały dla Podyplomowego Studium Programowania i Zastosowania Komputerów, sekcja Projektowanie i tworzenie aplikacji
Bardziej szczegółowoKlasy abstrakcyjne i interfejsy
Klasy abstrakcyjne i interfejsy Streszczenie Celem wykładu jest omówienie klas abstrakcyjnych i interfejsów w Javie. Czas wykładu 45 minut. Rozwiązanie w miarę standardowego zadania matematycznego (i nie
Bardziej szczegółowoProgramowanie obiektowe w VB cz 2
Programowanie obiektowe w VB cz 2 Interfejsy Interfejsy są listą metod, właściwości, zdarzeń i indeksowników. Jeśli jakaś klasa implementuje jakiś interfejs, znaczy to, że użytkownik tej klasy może skorzystać
Bardziej szczegółowoECDL Advanced Moduł AM3 Przetwarzanie tekstu Syllabus, wersja 2.0
ECDL Advanced Moduł AM3 Przetwarzanie tekstu Syllabus, wersja 2.0 Copyright 2010, Polskie Towarzystwo Informatyczne Zastrzeżenie Dokument ten został opracowany na podstawie materiałów źródłowych pochodzących
Bardziej szczegółowoWtedy wystarczy wybrać właściwego Taga z listy.
Po wejściu na stronę pucharino.slask.pl musisz się zalogować (Nazwa użytkownika to Twój redakcyjny pseudonim, hasło sam sobie ustalisz podczas procedury rejestracji). Po zalogowaniu pojawi się kilka istotnych
Bardziej szczegółowoemszmal 3: Automatyczne księgowanie przelewów w menedżerze sprzedaży BaseLinker (plugin dostępny w wersji ecommerce)
emszmal 3: Automatyczne księgowanie przelewów w menedżerze sprzedaży BaseLinker (plugin dostępny w wersji ecommerce) Zastosowanie Rozszerzenie to dedykowane jest internetowemu menedżerowi sprzedaży BaseLinker.
Bardziej szczegółowoStrona główna. Strona tytułowa. Programowanie. Spis treści. Sobera Jolanta 16.09.2006. Strona 1 z 26. Powrót. Full Screen. Zamknij.
Programowanie Sobera Jolanta 16.09.2006 Strona 1 z 26 1 Wprowadzenie do programowania 4 2 Pierwsza aplikacja 5 3 Typy danych 6 4 Operatory 9 Strona 2 z 26 5 Instrukcje sterujące 12 6 Podprogramy 15 7 Tablice
Bardziej szczegółowoC++ - 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
Bardziej szczegółowoJAVA 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
Bardziej szczegółowoProgramowanie RAD Delphi
Programowanie RAD Delphi Dr Sławomir Orłowski Zespół Fizyki Medycznej, Instytut Fizyki, Uniwersytet Mikołaja Kopernika w Toruniu Pokój: 202, tel. 611-32-46, e-mial: bigman@fizyka.umk.pl Delphi zasoby Aplikacje
Bardziej szczegółowoWykład 2 Składnia języka C# (cz. 1)
Wizualne systemy programowania Wykład 2 Składnia języka C# (cz. 1) 1 dr Artur Bartoszewski -Wizualne systemy programowania, sem. III- WYKŁAD Wizualne systemy programowania Budowa projektu 2 Struktura programu
Bardziej szczegółowoBiuro Podróży 0. Stwórz projekt aplikacja konsolowa lub WPF (przemyśl wybór, bo zmiana może być czasochłonna). 1. Stwórz abstrakcyjną klasę
Biuro Podróży 0. Stwórz projekt aplikacja konsolowa lub WPF (przemyśl wybór, bo zmiana może być czasochłonna). 1. Stwórz abstrakcyjną klasę SrodekLokomocji. a) dodaj w niej pola iloscmiejsc (int) oraz
Bardziej szczegółowoAMPS Sterownik temperatur Instrukcja obs³ugi
AMPS Sterownik temperatur Instrukcja obs³ugi Pod³¹czyæ sterownik do pr¹du. Instalacja powinna byæ przeprowadzona przez wykwalifikowany personel i tylko zgodnie z instrukcj¹. AMPS nie ponosi odpowiedzialnoœci
Bardziej szczegółowoINSTRUKCJA DO PROGRAMU LICZARKA 2000 v 2.56
INSTRUKCJA DO PROGRAMU LICZARKA 2000 v 2.56 Program Liczarka 2000 służy do archiwizowania i drukowania rozliczeń z przeprowadzonych transakcji pieniężnych. INSTALACJA PROGRAMU Program instalujemy na komputerze
Bardziej szczegółowoPodstawy informatyki
Podstawy informatyki Programowanie w języku Visual Basic.NET Instrukcja do zajęć laboratoryjnych Opracował: mgr inż. Jacek DIAKUN Ćwiczenie 1. Utworzyć program zawierający jedno okno i przycisk. Po kliknięciu
Bardziej szczegółowoemszmal 3: Automatyczne księgowanie przelewów w sklepie internetowym Magento (plugin dostępny w wersji ecommerce)
emszmal 3: Automatyczne księgowanie przelewów w sklepie internetowym Magento (plugin dostępny w wersji ecommerce) Zastosowanie Rozszerzenie to dedykowane jest sklepom internetowych zbudowanym w oparciu
Bardziej szczegółowoInformacje o omawianym programie. Założenia programu omawianego w przykładzie
1 Komunikacja człowiek - komputer Przedmiot: Komunikacja człowiek - komputer Ćwiczenie: 3 Temat dwiczenia: Projektowanie interfejsu programu typu bazodanowego dr Artur Bartoszewski CZĘŚD I analiza przykładowego
Bardziej szczegółowo