Programowanie funkcyjne w javie

 0    27 schede    qni
Scarica mp3 Stampa Gioca Testa il tuo livello
 
Domanda język polski Risposta język polski
zasada programwania funkcyjnego 1
inizia ad imparare
obiekty powinny być nie modyfikowalne imytable
klasa niemodyfikowalna imutable -zasada programwania funkcyjnego
inizia ad imparare
final public class Nazwa - klas nie może po niej dziedziczyc
ustawianie pol -zasada programwania funkcyjnego
inizia ad imparare
na zoziomie konstruktora, brak seterow
kolekacj - zasada programwania funkcyjnego
inizia ad imparare
operujem na kopi kolekcji
zasada programwania funkcyjnego 2
inizia ad imparare
funkcje i metody są czyste tzn nie zminiają stanu obiektu, parametrów, dla tej samej listy parametrów dostaje ten sam wynik, nie ma losowaość, unikamy nulli
Interefejs funkcyjny
inizia ad imparare
posiada tylko jedną metodę
Nazwa interfejsu funkcyjne
inizia ad imparare
coś-able
jak adnotacj - interfejsu funkcyjne
inizia ad imparare
@FunctionalInterface
co to są wyrażenia lambda w javie
inizia ad imparare
są to anomimowe funkcje, mają listę argumentu i logikę ale nie mają nazwy
przykład lambdy
inizia ad imparare
(listaArgumentów) ->{Logika}
lambda a interefej funkcyjny
inizia ad imparare
Lambda moze zastąpić każdy interfejs funkcyjny
lambda a return
inizia ad imparare
domyśli wyrazenie zwraca to zwraca funkcja
Lambda lista typów 1 argumentu
inizia ad imparare
możemy pomiynąć typ gdy jest tylko jedne typ w lambdzie
lambda a paramet
inizia ad imparare
wynik z lambdy może być przypisane do parametru
Interfejs Predicate
inizia ad imparare
na podstawie obiektó zwraca boolan
przykład Predicate
inizia ad imparare
Predicate<klasa> nazwaMetody = typ -> test;
łączenie predykatów (and)
inizia ad imparare
nazwaPredyka. and(nazwaPredykataDrugiego);
lub - Predicate
inizia ad imparare
nazwaPredyka. or(nazwaPredykataDrugiego);
negacja - Predicate
inizia ad imparare
nazwaPredyka. negate(nazwaPredykataDrugiego);
Interfejs consumer
inizia ad imparare
interfej ten coś robić, jakieś zadanie ale nic nie zwraca
Przykład consumer
inizia ad imparare
Consumer<klasa> nazwaMetody = typ -> test;
łaczeni consumer
inizia ad imparare
nazwaConsumer. abdThan(kolejnrConsumer)
co się stanie gdy w połaczanym consumer coś pojdzie nie tak
inizia ad imparare
kolejne consumer nie wykonaja się
supplier co przyjmuje i co zwraca
inizia ad imparare
nie przymuje żadnych argumentów a zwraca obiekt danego typu ty
Function - co robi
inizia ad imparare
Function przyjmuje jeden typ obiektu zmina go i zwracca inny typ obiektu
przykład interefejsi function
inizia ad imparare
Functiom<Studen, string> getStuden = studen -> student. getName()
BiFunction - co robi
inizia ad imparare
przmuje obiekty dwuch typów zwaca obiekt trzeciego typu

Devi essere accedere per pubblicare un commento.