🙂 İNSANLARIN EN HAYIRLISI INSANLARA FAYDALI OLANDIR 🙂

Ramazan HABER / FLUTTER / nesneye yönelik

1-) FLUTTER - nesneye yönelik

 

main(List<String> args) {

  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(23).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<Stringdosyaindir() {

  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<Stringdosyaindir() {

  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<Stringdosyaindir() {

  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

 

 2021 Ocak 18 Pazartesi
 541