Flutter Mülakat Soruları

Flutter için geliştirici arayışında olan bir şirketin ön mülakatta sorduğu soruları sizlerle paylaşıyorum.

initState ve dispose metotları nedir?

Flutter’da initState ve dispose, Stateful Widget’ların yaşam döngüsünün önemli iki parçasını temsil eden metotlardır.

  • initState: initState metodu, bir Stateful Widget’in oluşturulduğu anında çağrılan bir metottur. Bu metot, State nesnesinin başlatılması ve ilk ayarlamaların yapılması için kullanılır. Örneğin, verilerin yüklenmesi, başlangıç durumunun ayarlanması veya dinleme işlemlerinin başlatılması gibi işlemler bu metot içinde gerçekleştirilebilir.
@override void initState() {
 super.initState(); // Widget başlatıldığında yapılacak işlemler buraya yazılır. 
}
  • dispose: dispose metodu ise Stateful Widget’in ömrü sona erdiğinde, yani widget kaldırıldığında çağrılan bir metottur. Bu metot, kaynakları (örneğin, bellek, dosya işlemleri veya dinleme işlemleri) serbest bırakmak ve sızıntıları önlemek için kullanılır. Bu, özellikle State nesnesi tarafından başlatılan süreçler veya dinleme işlemleri için önemlidir.
@override void dispose() {
 // Widget kaldırıldığında veya değiştirildiğinde yapılacak temizlik işlemleri buraya yazılır. super.dispose(); 
}

initState ve dispose metotları, Stateful Widget’ların yaşam döngüsünü yönetmek ve uygulama davranışını kontrol etmek için kullanılır. Bu metotlar, widget’in oluşturulması ve kaldırılması sırasında belirli işlemleri gerçekleştirmenize olanak tanır.

Bir nesne (bir sınıfın örneği) tanımlandığında, nesnenin içinde varsayılan olarak bulunan kaç temel metot vardır?

Bir nesne (bir sınıfın örneği) tanımlandığında, varsayılan olarak üç temel metot bulunur: hashCode(), toString(), ve equals().

  1. hashCode(): Bu metot, nesnenin benzersiz bir karma değerini döndürmelidir. Bu değer, nesneyi bir koleksiyon gibi veri yapılarında kullanırken kullanışlıdır. Java’da varsayılan hashCode() metodu, nesnenin bellek adresine dayalı bir karma değeri döndürür, ancak sınıf geliştiricisi bu metodu gerektiğinde özelleştirebilir.
  2. toString(): Bu metot, nesnenin bir dize temsilini döndürmelidir. Genellikle, nesnenin insanlar tarafından okunabilir bir biçimde nasıl temsil edileceğini belirlemek için kullanılır. Varsayılan olarak, toString() metodu, sınıfın adını ve nesnenin kimlik numarasını içeren bir dize döndürür.
  3. equals(): Bu metot, iki nesnenin eşit olup olmadığını belirlemek için kullanılır. Varsayılan olarak, equals() metodu, nesnelerin bellek referanslarına dayalı olarak eşit olup olmadığını kontrol eder, yani aynı nesne mi yoksa farklı nesneler mi olduğunu kontrol eder. Ancak sınıf geliştiricisi, bu metodu nesnenin içeriğine dayalı olarak özelleştirebilir.

Bu temel metotlar, Java’da bir sınıfın temel davranışını tanımlamada önemli bir rol oynar ve sınıf geliştiricileri bu metotları sınıf ihtiyaçlarına göre özelleştirebilirler.

Yorum yapın