Wydział Elektroniki Kierunek: AiR Zaawansowane metody programowania Wykład 6.

Slides:



Advertisements
Podobne prezentacje
Session 6 Case Study – Elektrim SA Saturday, January 15, 2011 SAL Wroclaw Lectures on Corporate Governance Geoffrey Mazullo Principal Emerging Markets.
Advertisements

Projekt Do kariery na skrzydłach – studiuj Aviation Management Projekt współfinansowany ze ś rodków Europejskiego Funduszu Społecznego. Biuro projektu:
Introduction to SystemC
Usługi sieciowe Wykład 9 VPN
Statistics – what is that? Statystyka dla gimnazjalistów.
Projekt Do kariery na skrzydłach – studiuj Aviation Management Projekt współfinansowany ze ś rodków Europejskiego Funduszu Społecznego. Biuro projektu:
Języki Programowania Obiektowego
Projekt Do kariery na skrzydłach – studiuj Aviation Management Projekt współfinansowany ze ś rodków Europejskiego Funduszu Społecznego. Biuro projektu:
Projekt Do kariery na skrzydłach – studiuj Aviation Management Projekt współfinansowany ze ś rodków Europejskiego Funduszu Społecznego. Biuro projektu:
Projekt Do kariery na skrzydłach – studiuj Aviation Management Projekt współfinansowany ze ś rodków Europejskiego Funduszu Społecznego. Biuro projektu:
Sun altitude Made by: Patryk Cichy Patryk Cichy Mateusz Dąbrowicz Mateusz Dąbrowicz Mariusz Król Mariusz Król Mariusz Dyrda Mariusz Dyrda Group leader:
Wstęp do geofizycznej dynamiki płynów. Semestr VI. Wykład
POLISH FOLK DANCE - KUJAWIAK
Saint Nicolaus.
Copyright for librarians - a presentation of new education offer for librarians Agenda: The idea of the project Course content How to use an e-learning.
In Katowice Providence Project meeting Poland, Katowice, 8th of June 2010.
Materiały pochodzą z Platformy Edukacyjnej Portalu Wszelkie treści i zasoby edukacyjne publikowane na łamach Portalu
OOPC++ - operatory1 Operatory class complex { private: double re, im; public: complex (double r, double i = 0) { re = r; im = i; } friend complex operator+
GUI Struktury Spotkanie integracyjne Nazwa wydziału: EAIiE Nazwa katedry: Informatyka Miejsce i data prezentacji: Kraków,
Dzielenie relacyjne / Relational Division
1 Przestrzenie nazw. 2 Globalna przestrzeń nazw jest jedna W programach pisanych przez wiele osób, lub korzystających z bibliotek napisanych przez innych,
JET PUMPS introduction POMPY STRUMIENIOWE wstęp
Polaryzacja światła.
Współprogramy Plan: Motywacja Składnia Scenariusz obiektu współprogramu Przykłady Producent – konsument ( instrukcja attach ) Czytelnik -pisarze ( instukcja.
142 JAVA – sterowanie i wątki public class A20 extends javax.swing.JApplet implements ActionListener { private int licznik = 0; private JTextField t =
„Tworzenie aplikacji sieciowych w języku Java”
Projekt współfinansowany przez Unię Europejską w ramach Europejskiego Funduszu Społecznego Tworzenie aplikacji sieciowych w języku Java Objects classes,
Projekt współfinansowany przez Unię Europejską w ramach Europejskiego Funduszu Społecznego Tworzenie aplikacji sieciowych w języku Java Exceptions Prezentacja.
Projekt współfinansowany przez Unię Europejską w ramach Europejskiego Funduszu Społecznego Tworzenie aplikacji sieciowych w języku Java Threads Prezentacja.
Projekt współfinansowany przez Unię Europejską w ramach Europejskiego Funduszu Społecznego Tworzenie aplikacji sieciowych w języku Java Java – overview.
POLSKA SZKOŁA PODSTAWOWA IM. LECHA BĄDKOWSKIEGO W LUZINIE
MS SQL SERVER udział w rynku. Source: Gartner Dataquest (May 2006) Company Market Share (%) Market Share (%) Growth (%) Oracle6, ,
DIRECT &INDIRECT QUESTIONS
1 Building Integration System - Training Internal | ST-IST/PRM1 | 02/2008 | © Robert Bosch GmbH All rights reserved, also regarding any disposal,
1 Office for supporting social initiatives BORIS.
Contents About Kujawiak dance About Kuyavia S. Strzeleckis Kujawiak notes Kuyavias coat of arms Song Quiz.
In the mobile showroom. Excuse me. Welcome, sir!
______________________________________ TARGU-JIU 2010.
Krzysztof Manuszewski
Comenius The Great Wonders of Europe The Polish school is called … is called …
About a risk in our area, do we know enough ?
- For students (12 questions) - For parents (6 questions) - For grandparents (6 questions)
TVP SA Odział w Łodzi Łódź ul. Narutowicza 13 TVP Łódź the Year of anniversary – it is already 55 years together.
BLOOD DONATION.
Click to show the screen.
POLAND. we will take you on a journey during which you will learn something about us.
Wacław Sierpiński.
Na podstawie: The Illusion Of Life Disney Animation.
Pilots monument in Go ś ciniec Katarzyna Woś Natalia Wawrzaszek.
Stakeholder Analysis Lazarski University May, 2011 Edward T. Jennings, Jr. University of Kentucky Martin School of Public Policy and Administration.
Warsztaty C# Część 2 Grzegorz Piotrowski Grupa.NET PO
Galvanic Spa System II This document is for use by Nu Skin Enterprises Europe staff and independent distributors. It is not to be circulated to members.
I L.O. im. Mikołaja Kopernika in Bielsko-Biała The following presentation has been created within the confines of Socrates- Comenius Programme Teaching.
Teksty prymarne (original texts) to teksty autentyczne, nie są przeznaczone dla celów dydaktycznych; teksty adaptowane (simplified/adapted texts)są przystosowane.
Rozdział 3: Bezpieczeństwo w sieci opartej na systemie Windows 2000.
WELCOME TO Gdańsk Culture & Sport Sport Football.
NEW MODEL OF SCHOOL HEADS PREPARATION, INDUCTION AND CONTINUING PROFESSIONAL DEVELOPMENT IN POLAND Roman Dorczak, Grzegorz Mazurkiewicz   Jagiellonian.
January 2O13.
Polish cadastral system Land Administration Domain Model
1.
legend
The legend of amber Reda, Poland 2010.
Struktura przedsiębiorstwa SAP Best Practices. ©2014 SAP SE or an SAP affiliate company. All rights reserved.2 Obszar rachunku kosztów 1000 Dane te są.
POLISH FOR BEGINNERS.
2 Review What is bionomial nomenclature Explain What is a genus
Wydział Elektroniki Kierunek: AiR Zaawansowane metody programowania Wykład 5.
Opracowanie: Katarzyna Gagan, Anna Krawczuk
20MHz Channel Access in 11bd
Previously discusses: different kinds of variables
Zapis prezentacji:

Wydział Elektroniki Kierunek: AiR Zaawansowane metody programowania Wykład 6

Interfejsy Interfaces

Attributes Much of the C# language enables the programmer to specify declarative information about the entities defined in the program. C# enables programmers to invent new kinds of declarative information, called attributes. Programmers can then attach attributes to various program entities, and retrieve attribute information in a run-time environment. Attributes are defined through the declaration of attribute classes, which may have –positional and –named parameters. Attributes are attached to entities in a C# program –using attribute specifications, and –can be retrieved at run-time as attribute instances.

Attributes, cont. Attribute classes –A class that derives from the abstract class System.Attribute, whether directly or indirectly, is an attribute class. The declaration of an attribute class defines a new kind of attribute that can be placed on a declaration. –By convention, attribute classes are named with a suffix of Attribute. Uses of an attribute may either include or omit this suffix. Attribute specification –Attribute specification is the application of a previously defined attribute to a declaration. –An attribute is a piece of additional declarative information that is specified for a declaration. Attribute instances –An attribute instance is an instance that represents an attribute at run-time. –An attribute is defined with an attribute class, positional arguments, and named arguments. –An attribute instance is an instance of the attribute class that is initialized with the positional and named arguments.

Interfejs – podstawowe własności An interface defines a contract. A class or struct that implements an interface must adhere (dotrzymywać) to its contract. The declaration takes the following form: [attributes] [modifiers] interface identifier [:base-list] {interface-body}[;]

Interfejs – podstawowe własności, cd attributes (Optional) Additional declarative information modifiers (Optional) The allowed modifiers are new and the four access modifiers identifier The interface name base-list (Optional) A list that contains one or more explicit base interfaces separated by commas interface-body Declarations of the interface members [attributes] [modifiers] interface identifier [:base-list] {interface-body}[;]

Interfejs – podstawowe własności, cd2 An interface can be a member of a namespace or a class and can contain signatures of the following members: –Methods –Properties –Indexers –Events An interface can inherit from one or more base interfaces. Example: the interface IMyInterface inherits from two base interfaces, IBase1 and IBase2: interface IMyInterface: IBase1, IBase2 { void MethodA(); void MethodB(); }

Interfejs – podstawowe własności, cd3 Interfaces can be implemented by classes and structs. The identifier of the implemented interface appears in the class base list. For example: class Class1: Iface1, Iface2 { // class members } When a class base list contains a base class and interfaces, the base class comes first in the list. For example: class ClassA: BaseClass, Iface1, Iface2 { // class members }

C# Delegacje Delegate(s) Delegata to obiekt, który przechowuje referencje do metody. Podczas wywoływania tego obiektu delegaty wywoływana jest metoda, której referencja była przechowywana. Aby móc przypisać metodę do delegaty musi ona spełniać pewien warunek, tym warunkiem jest zgodność deklaracji metody i delegaty. Ogólna deklaracja delegaty: delegate typ_zwracany nazwa_delegaty(parametry) ; Delegate deklaruje się zawsze po deklaracjach przestrzeni nazw, nie jest ona składnikiem klas. Bardzo prosty przykład, w którym to tworzony jest obiekt takiej delegaty:

C# Delegacje -Przykład using System; delegate void delegata(int liczba); class Klasa_a { public int a; public Klasa_a(int a){ this.a = a;} public void metoda(int cyferka){ Console.WriteLine(cyferka * a);} } class Klasa_b { public static void Liczba(int c){Console.WriteLine(c);} } class Pokaz { public static void Main() { Klasa_a A = new Klasa_a(4); delegata d1 = new delegata(A.metoda); delegata d2 = new delegata(Klasa_b.Liczba); d1(3); d2(7); }}

C# Delegacje –Przykład 1 - komentarz Referencje do metody przesyła się jakby to był parametr konstruktora delegaty: delegata d1 = new delegata(A.metoda); Parametr dla metody przesyła się dopiero podczas wywołania delegaty: d1(3); Sednem wykorzystania delegat są łańcuchy wywołań, dzięki którym można wywołać kilka delegat pod rząd. Przykład! Aby utworzyć łańcuch wywołań należy najpierw dla każdej metody utworzyć delegate, następnie należy utworzyć jedną delegate do której to przypisuje się referencję pierwszego wywołania potem za pomocą złożonych operatorów przypisania dodaje się kolejne. Aby odjąć jakąś metodę stosuje się minus czyli -= (złożony operator przypisania).