MOBIL UYGULAMA GELIŞTIRME

Benzer belgeler
/*Aşağıda ki kodları doğru şekilde anlar ve kullanırsanız java da sınıfları biraz da olsa anlamış olursunuz.*/

İçerik. Kapsülleme ( Encapsulation ) Java da Kalıtım: Örnek 2.1. Kalıtım ( Inheritance ) Tekrar Ziyaret. Java da Kalıtım: Örnek 2.2.

Java da Soyutlama ( Abstraction ) ve Çok-biçimlilik ( Polymorphism )

Kapsülleme ( Encapsulation ) BBS-515 Nesneye Yönelik Programlama

BİL132 Bilgisayar Programlama II

BİL-141 Bilgisayar Programlama I (Java)

MOBİL UYGULAMA GELİŞTİRME

YZM 2105 Nesneye Yönelik Programlama

Nesne tabanlı programlama nesneleri kullanan programlamayı içerir. Bir nesne farklı olarak tanımlanabilen gerçek dünyadaki bir varlıktır.

HSancak Nesne Tabanlı Programlama I Ders Notları

BMH-303 Nesneye Yönelik Programlama

Erişim konusunda iki taraf vardır:

YZM 2105 Nesneye Yönelik Programlama

public static int Toplam int x, int y

Sınıf üyeleri: değişkenler (fields) and metotlar (methods) Değişkenler: nesne içerisindeki değişkenlerdir Temel veri tipi veya sınıf tipi

// hataları işaret eden referans

Uzaktan Eğitim Uygulama ve Araştırma Merkezi

Paket Erişimleri. Altuğ B. Altıntaş 2003 Java ve Yazılım Tasarımı - Bölüm 4 1

Java Class Yapısında Finalize Metotunun Kullanımı

Lab7 DOĞU AKDENİZ ÜNİVERSİTESİ BİLGİSAYAR VE TEKNOLOJİ YÜKSEKOKULU BİLGİSAYAR PROGRAMCILIĞI. BTEP212 Java. Uygulama1: package javaapplication58;

NESNEYE YÖNELİK PROGRAMLAMA

Yazılım Kodlama ve İ simlendirme Standartları v1.0

BMÜ-112 ALGORİTMA VE PROGRAMLAMA-II LABORATUARI DENEY-2 FÖYÜ

BTEP243 Ders 3. class Yazım Kuralı:

Sınıflar ve Yapılar Arasındaki Farklılıklar. Değer ve Referans Türde Olan Aktarımlar

ANA SINIF TÜRETİLEN BİRİNCİ SINIF TÜRETİLEN İKİNCİ SINIF

Sunum İçeriği. Programlamaya Giriş

Arayüz soyut metotların oluşturduğu bir koleksyondur. Bir sınıf arayüzü çalıştırırken arayüzün sahip olduğu soyut metotları da miras alır.

Görsel Programlama DERS 02. Görsel Programlama - Ders02/ 1

NESNE TABANLI PROGRAMLAMA-1 DERS UYGULAMALARI (22 EYLÜL - 14 KASIM

İçerik. Temel Kavramlar. Nesne Nedir? 1. Nesne : Örnek. Nesne Nedir? 2. Geçen hafta: Bu hafta: BBS-515 Nesneye Yönelik Programlama

NESNEYE DAYALI PROGRAMLAMA 9. HAFTA UYGULAMA DERSİ

Temel Kavramlar BBS-515 Nesneye Yönelik Programlama

abstract Sınıflar 1 Sınıf sınıf1 new class Ama aşağıdaki şekilde referans alınabilir;

Sınıf üyeleri: değişkenler (fields) and metotlar (methods) Değişkenler: nesne içerisindeki değişkenlerdir Temel veri tipi veya sınıf tipi

Görsel Programlama DERS 03. Görsel Programlama - Ders03/ 1

BİL-142 Bilgisayar Programlama II

YZM 2105 Nesneye Yönelik Programlama

Nesne Yönelimli Programlama

BMM3101 PROGRAMLAMA DİLLERİ

BİL-141 Bilgisayar Programlama I (Java)

Java dili, aşağıdakiler de dahil olmak üzere çok çeşitli denetleyici türlerine sahiptir.

Ders 8: Metotlar. barisgokce.com

C++ Dersi: Nesne Tabanlı Programlama

Nesne Yönelimli Programlama

7. HAFTA. Erişim Belirleyiciler

İki Yöntem. Komposizyon (Composition) Kalıtım (Inheritance)

Sınıfların Tekrardan Kullanılması. Altuğ B. Altıntaş 2003 Java ve Yazılım Tasarımı - Bölüm 5 1

Calistir diye normal bir java classı ekleyelim.aynı pakete ekleyelim.public ve main metodu ekleyelim.

Nesneye Dayalı Programlama

Java String İşlemleri

Java 2 Standart Edition SDK Kurulum ve Java ya Giriş

Java Programlama Güz Dönemi CLASS YAPISI

Dizi ( Array ) ve Dizgi ( String )

NESNE YÖNELİMLİ PROGRAMLAMA HAFTA # 9

Önemli noktalar. Paradigma Nesnelere Giriş Mesajlar / Ara bağlantılar Bilgi Gizleme (Information Hiding ) Sınıflar(Classes) Kalıtım/Inheritance

NESNE TABANLI PROGRAMLAMA

Nesne Yönelimli Programlama

YZM 2105 Nesneye Yönelik Programlama

Cybersoft Bilişim Teknolojileri Sunucu Tarafı Programlaması Kursu Final soruları. Tarih: 27 Kasım 2010 Saat: 13:30 Süre: 3 saat

Nesneye yönelik: Javada herşey bir nesnedir. Java nesne yönelimli olduğu için kolayca geliştirilebilir.

Lambda İfadeleri (Lambda Expressions)

1. Aşağıdaki program parçacığını çalıştırdığınızda result ve param değişkenlerinin aldığı en son değerleri ve programın çıktısını yazınız.

Java ile Nesneye Yönelik Programlama (Object Oriented Programming)

Java Nitelemleri. Bölüm 1

BMÜ-111 ALGORİTMA VE PROGRAMLAMA AKIŞ KONTROLÜ YRD. DOÇ. DR. İLHAN AYDIN

Kalıtım ( Inheritance ) BBS-515 Nesneye Yönelik Programlama

PAKET ERİŞİMLERİ SINIFLARIN YENİDEN KULLANIMI. BMU-112 Algoritma ve Programlama-II Yrd. Doç.Dr. İlhan AYDIN

5.HAFTA. Sınıf ve Nesne Kavramı, Metot Oluşturma, Kurucu Metot, this Deyimi

JAVA PROGRAMLAMA DİLİ ÖZELLİKLERİ

C++ Dersi: Nesne Tabanlı Programlama

BBS515 Nesneye Yönelik Programlama. Ders 2 Zümra Kavafoğlu

1. SINIFLAR Sınıf (Class) Mantığı

İNÖNÜ ÜNİVERSİTESİ MÜH. FAK. BİLGİSAYAR MÜH. BÖL. ALGORİTMA VE PROGRAMLAMA 2 DERSİ LAB. ÖDEVİ

Şablon Türler (Generics)

Dizi türündeki referanslar, dizi nesnelerine bağlanmaktadır. Dizi referansları tanımlamak bu dizinin hemen kullanılacağı anlamına gelmez...

MALTEPE ÜNİVERSİTESİ MÜHENDİSLİK FAKÜLTESİ YAZILIM MÜHENDİSLİĞİ LİSANS PROGRAMI

GÜZ DÖNEMİ AKT105 BİLGİSAYAR PROGRAMLAMA DERSİ 9. UYGULAMA

BMH-303 Nesneye Yönelik Programlama

Mühendislik Fakültesi Elektrik-Elektronik Mühendisliği C Programlama 7. Bölüm Metot Tanımlama ve Kullanma

GÜZ DÖNEMİ AKT105 BİLGİSAYAR PROGRAMLAMA DERSİ 4. UYGULAMA

CharArrayReader. Kılgıladığı Arayüzler: Bildirimi: Değişkenleri (fields): java.io.reader Sınıfından Kalıtsal Gelen Değişken:

11- FONKSİYONLAR (FUNCTIONS)

Java da Program Denetimi ve Operatörler. Altuğ B. Altıntaş 2003 Java ve Yazılım Tasarımı - Bölüm 2 1

Nesneye Dayalı Programlama

Örnek 1: Programı yazın ve çalıştırın.

Java da İşleçler, Ders #3 (4 Kasım 2009)

Java C.Thomas Wu 2004b kitabından Türkçeleştirilerek ve örneklendirilerek hazırlanmıştır.

Java Programlama Dilinde Veri Tipleri. Yrd. Doç. Dr. Aybars UĞUR

NESNE YÖNELİMLİ PROGRAMLAMA HAFTA # 6

3. Bölüm Soyut Sınıflar (Abstract Classes) Java ile Nesne Merkezli ve Fonksiyonel Programlama Akın Kaldıroğlu

Bölüm 24. Java Ağ Uygulamaları 24.1 Java Appletleri. Bir Applet in Yaşam Döngüsü:

BM-209 Nesne Yönelimli Programlama. Yrd. Doç. Dr. İbrahim Alper Doğru Gazi Üniversitesi Teknoloji Fakültesi Bilgisayar Mühendisliği Bölümü

İçerik. Java da İşleçler, İşleçler. Aritmetik İşleçler - 1. Aritmetik İşleçler - 2. Geçen ders: Bu ders: BS-515 Nesneye Yönelik Programlama

Uzaktan Eğitim Uygulama ve Araştırma Merkezi

JAVADA METOTLAR. BMÜ-111 Algoritma ve Programlama. Yrd. Doç. Dr. İlhan AYDIN

Programlama Dillerinde Kullanılan Veri Tipleri

JAVADA DİZİ İŞLEMLERİ

Eclipse, Nesneler ve Java 2 Java Nereden Çıktı? 2

İNÖNÜ ÜNİVERSİTESİ MÜH. FAK. BİLGİSAYAR MÜH. BÖL. ALGORİTMA VE PROGRAMLAMA 2 DERSİ LAB. ÖDEVİ

Transkript:

MOBIL UYGULAMA GELIŞTIRME PELIN YILDIRIM FATMA BOZYIĞIT YZM 3214 Celal Bayar Üniversitesi Hasan Ferdi Turgutlu Teknoloji Fakültesi

Bu Derste Java Programlama (Crash Course) Class, Nesne, Metodlar, Overloading, Overriding Kalıtım, Ebevyn, Çocuk Class Polymorphism, Exceptions 2

Metodlar Kodu organize etmekte kullanılırlar. Kodu tekrar etmek yerine metod yazıp çağırabiliriz. Kod parçasına erişim hakları ile kontrol edebiliriz. public int length() { int numberofcharacters = 0; // code to calculate the number of characters... return numberofcharacters; Eğer çağırdığımız bir metod veri döndürüyorsa bunu başka bir değişkene saklarız: String sampletext = "Java is fun"; int textlength = sampletext.length(); 3

Nesneler (Object) & Sınıflar (Class) Nesneler: Hayattaki objeler iki karakteristik sergilerler: durum and davranış. Örneğin, bir arabanın durumları (model, marka, renk) ve davranışı (sürme, vites değiştirme) Sınıflar: Nesnelerin meydana getirildiği prototiplerdir. Classlar hayattaki gerçek nesneleri modellemize yararlar. 4

Sınıf Nasıl Tanımlanır.. class Vehicle { int speed = 0; int gear = 1; void changegear(int newgear) { gear = newgear; void speedup(int increment) { speed = speed + increment; void printstates() { System.out.println(" speed:" + speed + " gear:" + gear); 5

Kurucular (Constructors) Sınıftan bır nesne yaratmakta kullanılırlar. Sınıf ile aynı isme sahiptirler Bitiminde geriye (çağıran yere) bir değer döndürmezler Genelde nesnenin değişkenlerine (attributes) ilk değer vermekte kullanılırlar Kurucu tanımlamazsak derleyici varsayım (default) kurucu (parametresiz kurucu) tanımlar. Farklı parametrelerle istediğimiz kadar tanımlayabiliriz public Vehicle(int s, int g){ speed = s; gear = g; Kullanılışı: new Vehicle(100, 5); Default kurucu kullanılışı: new Vehicle(); //default kurucu 6

Getter & Setter Metodları Getters ve setters metodları ile nesnelerin durumları kontrol edilir, güncellenir, okunur. class Vehicle { int speed = 0; int gear = 1; public int getspeed() { return speed; public void setspeed(int s) { speed = s; public int getgear() { return gear; public void setgear(int g) { gear = g; 7

Kalıtım (Inheritance) Kalıtım, kod tekrar kullanımı ve organizesi için doğal ve güçlü bir mekanizma sağlar. iki nesne arasında ebeveyn - çocuk ilişkisi kurmayı sağlar. Nesneye dayalı programlama çok kullanılan bazı metod ve durumların ortak kullanılmasını sağlar. Örneğin, araç, kamyon ve arabanın ebevyn classı olarak tanımlanabilir. Ya da canlılar bir sınıf olarak tanımlanıp, bitkiler, hayvanlar, insanlar çocuk sınıf olarak tanımlanabilir. Javada, her sınıfın sadece 1 direkt ebeveyn sınıfı olabilir. Her ebeveynin sınırsız sayıda çocuk sınıfı olabilir. 8

Nasıl Kalıtım Sağlanır - Ebevyn ve Çocuk public class Car extends Vehicle { int numofseats; //Set of statements defining //a car s state and behavior public class Truck extends Vehicle { public int loadweight; //Set of statements defining //a truck s state and behavior 9

Kalıtım (Inheritance) - Örnek Kalıtım Ağacı Kalıtım ağacında yukarıya doğru çıkıldıkça genele, aşağıya doğru inildikçe özele gidilir. 10

this ve super this: Nesnenin kendisine erişmek için kullanılır. super: ebevyn nesnenin metod ve değişkenlerine erişmek için kullanılır. Özellikle ebevy classın metoduna override edilen bir metod içinden erişmek için kullanılır. Örneğin, Car classında, printstates() override edip ebevyn Vehicleiın printstates() metoduna kullanmak için: public class Car extends Vehicle { int numofseats; void printstates() { super.printstates(); System.out.println(" Number of Seats:" + numofseat); 11

Erişim Düzenleyiciler (Access Modifiers) Bir classın diğer bir classın method ve değişkenlerine erişim izinlerini kontrol için kullanılır. 4 çeşit erişim kontrolu vardır: Sınıf (class) seviyesinde public, or default (belirtilmemişse). public: classı herkes görebilir, erişebilir default: aynı pakette olan diğer classlar erişebilir Değişkenler seviyesinde public, private, protected, or default (belirtilmemişse). public: değişkeni herkes görebilir, erişebilir default: aynı pakette olan diğer classlar erişebilir private: Değişkenlere sadece kendi class ı içinden erişilebilir protected: Değişkenlere kendi paketi içinden yada alt classları içinden erişilebilir 12

Access Modifiers 13

Method Overriding (Üstüne Yazma, Geçersiz Kılma) and Overloading ( Aşırı Yükleme ) Metod overloading: Aynı isimli fakat farklı sayı yada tipte parametreleri olan metodlar tanımlamaya denir. Metod overriding: Çocuk class bir metodu kendisi için tekrar tanımlarsa overriding olur. Örnekler: http://www.tutorialspoint.com/javaexamples/java_methods.htm 14

Overloading Örneği - 1 class MyClass { int height; MyClass(int i) { System.out.println("Building new House that is + i + " feet tall ); height = i; void info() { System.out.println("House is " + height + " feet tall"); void info(string s) { System.out.println(s + ": House is + height + " feet tall"); public class MainClass { public static void main(string[] args) { MyClass t = new MyClass(0); t.info(); t.info("overloaded method"); 15

Overloading Örneği - 2 public class MainClass { public static void printarray(integer[] inputarray) { for (Integer element : inputarray){ System.out.printf("%s ", element); System.out.println(); public static void printarray(double[] inputarray) { for (Double element : inputarray){ System.out.printf("%s ", element); System.out.println(); public static void printarray(character[] inputarray) { for (Character element : inputarray){ System.out.printf("%s ", element); System.out.println(); public static void main(string args[]) { Integer[] integerarray = { 1, 2, 3, 4, 5, 6 ; Double[] doublearray = { 1.1, 2.2, 3.3, 4.4, 5.5, 6.6, 7.7 ; Character[] characterarray = { 'H', 'E', 'L', 'L', 'O' ; System.out.println("Array integerarray contains:"); printarray(integerarray); System.out.println("\nArray doublearray contains:"); printarray(doublearray); System.out.println("\nArray characterarray contains:"); printarray(characterarray); 16

Polymorphism - 1 Polimorfizm aynı ebeveyn classın çocuklarının farklı davranış gösterebilmesi fakat aynı zamanda bazı davranışlarda ise aynı davranmasıdır. Örneğin ebeveyn class Vehicle da aşağıdaki gibi bir metod olsun. Bu metod Vehicle ile ilgili bütün bilgileri yazsın: public void showinfo() { System.out.println("The vehicle has a speed of: " + this.speed + " and at gear " + this.gear); 17

Polymorphism - 2 Eğer Truck alt classı bu metodu kullanırsa kendine has değişkeni olan loadweight ekrana yazılmayacak çünkü ebevyn class da bu değişken yok.bunun için, showinfo() metodunu şöyle override ediyoruz: public void showinfo() { super.showinfo(); System.out.println("The truck has is carrying a load of: + this.loadweight); Benzer bir showinfo metodunu Car classı için de tanımlayabiliriz: public void showinfo() { super.showinfo(); System.out.println("The car has "+ this.numofseats + " seats."); 18

Polymorphism - 3 class TestPolymorhism { public static void main(string[] args) { Vehicle vehicle1, vehicle2, vehicle3; vehicle1 = new Vehicle(50,2); vehicle2 = new Car(50,2,4); vehicle3 = new Truck(40,2,500); System.out.println("Vehicle 1 info:"); vehicle1.showinfo(); System.out.println("\nVehicle 2 info:"); vehicle2.showinfo(); System.out.println("\nVehicle 3 info:"); vehicle3.showinfo(); 19

Exceptions (Aykırı Durumlar) - 1 Bir hata oluştuğunda JRE exception isimli bir nesneyi oluşturur ve bu nesne içinde temel hata bilgileri (hatanın tipi, yeri, hangi metodların çağrıldığının listesi). Bu şekilde exception oluşturulmasına throwing an exception denir. try { System.out.println("Entered try statement"); String partialstring = nullstring.substring(1); // Execution will break before reaching this line System.out.println("Partial string is: " + partialstring); catch (Exception e) { System.out.println("Error occured: "+e.getmessage()); e.printstacktrace(); finally { System.out.println("This line of code will always run!"); 20

Kaynaklar http://www.yildiz.edu.tr/~smyavuz/java/java.pdf http://androidatc.com/adnan/upload/editor_upload/file/selfstudy/java%20fundamentals% 20for%20Android%20Development_Self%20Study%20Guide.pdf http://blog.teamtreehouse.com/java-basics-for-android-development-part-1 http://blog.teamtreehouse.com/java-basics-for-android-development-part-2 http://code.tutsplus.com/tutorials/learn-java-for-android-development-introduction-to-java-- mobile-2604 http://code.tutsplus.com/tutorials/learn-java--mobile-2612 https://www.udacity.com/course/viewer#!/c-ud853/l-1395568821 http://web.cs.hacettepe.edu.tr/~bbm102/misc/java_notes_by_oa.pdf 21