1-) FLUTTER - nesneye yönelik
ogrenci ahmet = ogrenci();
ahmet.ad = "ahmet";
ahmet.yas = 25;
ahmet.bilgileriYazdir();
ogrenci rambo = ogrenci();
rambo.ad = "rambo";
rambo.yas = 22;
rambo.bilgileriYazdir();
}
class ogrenci {
int yas;
String ad;
void bilgileriYazdir() {
print("ad = ${this.ad} , yas = ${this.yas}");
}
}
1-) FLUTTER - CONSTRUCTER İLE
main(List<String> args) {
ogrenci ahmet = ogrenci(25, "ahmet");
ahmet.bilgileriYazdir();
ogrenci rambo = ogrenci(22, "rambo");
rambo.bilgileriYazdir();
var ayse = ogrenci.yasConstructer(22);
ayse.bilgileriYazdir();
var ayse1 = ogrenci.yasConstructer(22);
ayse1.bilgileriYazdir();
}
class ogrenci {
int yas;
String ad;
void bilgileriYazdir() {
print("ad = ${this.ad} , yas = ${this.yas}");
}
ogrenci(int yas, String ad) {
this.ad = ad;
this.yas = yas;
}
ogrenci.yasConstructer(int yas) {
this.yas = yas;
}
ogrenci.yasConstructerThisli(this.yas) {
}
}
1-) FLUTTER - SET GET
void set ogrenciNoAta(int no) {
this.ogrNo = no;
}
int get ogrNoOku{
return ogrNo;
}
ayse1.ogrenciNoAta = 11;
print(ayse1.ogrNoOku.toString());
1-) FLUTTER - Private tanımlamak için değişkenin önüne alt tire koy örn : _id
EXTENDS AYNI JAVADAKİ GİBİ super.metotismi dersek üst sınıfın metodunuda tetikler. üst sınıftaki metodu alt sınıfada yazarsak onu override eder
1-) FLUTTER - CONSTRUCTER
main(List<String> args) {
print("object");
Kopek asD = Kopek("kırmızı", "pitbul");
Kopek asD2 = Kopek.isimli("kırmızı2", "pitbul2");
}
class Hayvan {
String renk;
Hayvan(String renk, String cins) {
this.renk = renk;
print("Hayvandan türetildi. renk : $renk");
}
}
class Kopek extends Hayvan {
Kopek(String renk, String cins) : super(renk, cins) {
print("Köpek türetildi. cins= $cins");
}
Kopek.isimli(String renk, String cins) : super(renk, cins) {
print("Köpek türetildi. cins= $cins");
}
}
1-) FLUTTER - İNTERFACE İMPLEMENTS
main(List<String> args) {
televisyon asd = televisyon();
asd.sesAc();
}
class kumanda {
void sesAc() {
print("ses açıldı");
}
void sesKapat() {
print("ses kapatıldı");
}
}
class televisyon implements kumanda {
@override
void sesAc() {
print("ses Aç ");
}
@override
void sesKapat() {
print("ses kapat");
}
}
1-) FLUTTER - Lambda kullanımı
metot içinde fonksiyon oluşturmaya denir
main(List<String> args) {
Function f2 = (int a, int b) { // lambda metot içinde fonksiyon tanımlama
return a + b;
};
print(f2(4,2));
Function f3 = (int a, int b) => a + b; // fat arrow denir
print(f3(4,21));
}
1-) FLUTTER - Higher order funksiyon yani metota fonksiyon gönderme veya return olarak fonksiyon döndürme
main(List<String> args) {
Function f3 = (int a, int b) => a + b; // fat arrow denir
birmetot("ramazan", f3);
}
void birmetot(String isim, var benimFonks) {
print("toplam : ${isim } "+ benimFonks(2, 3).toString());
}
1-) FLUTTER - Lexical Closure yani metot içinde tanımlı metot bir üstten değer alıyor
1-) FLUTTER - List.generate kullanımı
main(List<String> args) {
List<int> ogreniNolar = List.generate(30, (index) => index);
ogreniNolar.forEach((no) {
print("ogrenci no : $no"); });}
1-) FLUTTER - List.generate kullanımı 2
import 'dart:math';
main(List<String> args) {
List<int> ogreniNolar = List.generate(30, (index) {
return randomdegerolustur();
});
ogreniNolar.forEach((no) {
print("ogrenci no : $no");
});
}
int randomdegerolustur() {
int sayi = Random().nextInt(60);
return sayi;
}
1-) FLUTTER - List.Map kullanımı listeden listeye veri aktarma
import 'dart:math';
main(List<String> args) {
List<int> ogreniNolar = List.generate(30, (index) {
return randomdegerolustur();
});
List<Ogrenci> ogrenciList = ogreniNolar.map((ogrNo) {
return Ogrenci("Ogrenci ${ogrNo}", ogrNo);
}).toList();
ogrenciList.forEach((ogrenci) {
print(" ${ogrenci.ad}");
});
}
int randomdegerolustur() {
int sayi = Random().nextInt(60);
return sayi;
}
class Ogrenci {
String ad;
int no;
Ogrenci(this.ad, this.no);
}
1-) FLUTTER - future await async 1. yol
main(List<String> args) {
print("program başladı");
Future<String> dosyaicerigi = dosyaindir();
dosyaicerigi.then((value) => print("dosya icerigi : ${value}"));
print("program bitti");
dosyaicerigi.whenComplete(() {
print("tüm işlemler bitti finaly gibi");
});
}
Future<String> dosyaindir() {
print("dosya inme başladı");
Future<String> sonuc = Future.delayed(Duration(seconds: 5), () {
return "indirilen dosya içeriği";
});
print("dosya inme bitti");
return sonuc;
}
2-) future await async 2. yol
main(List<String> args) {
print("program başladı");
dosyagoster();
print("program bitti");
}
dosyagoster() async {
String dosyaicerigi = await dosyaindir();
print(dosyaicerigi);
}
Future<String> dosyaindir() {
print("dosya inme başladı");
Future<String> sonuc = Future.delayed(Duration(seconds: 5), () {
return "indirilen dosya içeriği";
});
print("dosya inme bitti");
return sonuc;
}
3-) future await async örnek
main(List<String> args) {
print("program başladı");
Future<String> dosyaicerigi = dosyaindir();
dosyaicerigi.timeout(new Duration(seconds: 5)).then(print).catchError((ss)=> print("hataaa!"));
var future2= dosyaicerigi.then((value) => print("dosya icerigi : ${value}"));
print("program bitti");
var future3= future2.catchError((pp)=>print("hata var ! $pp"));
var future4= future3.whenComplete(() {
print("tüm işlemler bitti finaly gibi");
});
}
Future<String> dosyaindir() {
print("dosya inme başladı");
Future<String> sonuc = Future.delayed(Duration(seconds: 2), () {
throw "hata";
});
print("dosya inme bitti");
return sonuc;
}
48. derste kaldım