BLP 4210 PLATFORM BAĞIMSIZ PROGRAMLAMA

Slides:



Advertisements
Benzer bir sunumlar
Programlama-II (Java ile Bilgisayar Programlama)
Advertisements

SCANNER SINIFI ve KLAVYEDEN VERİ OKUNMASI
Programlama-II (Java ile Bilgisayar Programlama)
Nesneye Yönelik Programlama Dr. Pelin GÖRGEL
Erişim Denetimi, Fonksiyon
C# Metot Overloading (Aşırı yükleme)
Bölüm 5 Nesneler ve Metotlar
Bil 102 Bölüm 6 Diziler.
JAVA PROGRAMLAMA ORNEKLER
Algoritma.  Algoritma, belirli bir görevi yerine getiren sonlu sayıdaki işlemler dizisidir.  Başka bir deyişle; bir sorunu çözebilmek için gerekli olan.
BÖLÜM 4 PROGRAMLAMA DİLLERİ. PROGRAMLAMA DİLLERİNDE KULLANILAN VERİ TİPLERİ Bilgisayarda işlenen veriler iki türdür: Sayısal Alfasayısal.
BİLGİSAYAR PROGRAMLAMA Ders 11: İşaretçi (Pointer) Kullanımı Yrd. Doç. Dr. Altan MESUT Trakya Üniversitesi Bilgisayar Mühendisliği.
Modül 1 Öğr. Gör. Nevzat TAŞBAŞI
PROGRAMLAMA DİLLERİNE GİRİŞ Ders 5: Fonksiyonlar Yrd. Doç. Dr. Altan MESUT Trakya Üniversitesi Bilgisayar Mühendisliği.
LINQ { C# 3.0 ve Language Integrated Query } MEHMET MECİT GÖK NO:
TC Windows Editörü DevC++. KURULUM PROGRAMIN KURULACAĞI YER BURADA BELİRLENİYOR.
ARAYÜZLER(INTERFACE) Öğr.Gör. Murat ASLANYÜREK. ARAYÜZ KAVRAMINA GİRİŞ  Arayüzler, soyut sınıflara benzer. Ancak yapı olarak bazı yönleriyle farklılıklar.
7. Hafta İçeriği 1.Kalıtım (Inheritance) 2.Soyut sınıf (abstract class) 3.Sealed sınıf(sealed class) 4.Çok biçimlilik (polymorphism)polymorphism.
1 Bölüm 2 C Dilinin Temelleri Alıştırmalar Bu bölümdeki problemler “C Dersi Çözümlü Problem Kitabı”, N. E. Ça ğ ıltay, C. E. Selbes, G. Tokdemir, ve Ç.
Bölüm 2 C Dilinin Temelleri
BİLGİSAYAR PROGRAMLAMA DERSİ
3. DEĞİŞKENLER Değişkenlerin kullanım ve tanımlanma şekli, o dilde program yapmayı ve programların anlaşılırlığını etkileyen önemli faktörlerden biridir.
FONKSİYONLAR.
JDK(Java  Development  Kit):  Java  kodlarını  derlemek  için gerekli  geliştirme  ortamını.
Algoritma ve Programlamaya Giriş
Veri Tabanı Yönetimi Dersi 7. Laboratuvarı
EETE233 Mikrodenetleyiciler ArduIno ile Programlama
METOTLAR.
Bilgisayar Donanım ve Sistem Yazılımı
Nesneye Dayalı Kavramlar Uygulama 1
BİLGİSAYAR PROGRAMLAMA Ders 11: İşaretçi (Pointer) Kullanımı
MAT – 101 Temel Matematik Mustafa Sezer PEHLİVAN *
MAT – 101 Temel Matematik Mustafa Sezer PEHLİVAN *
PROGRAMLAMA DİLLERİNE GİRİŞ Ders 6: Sınıflar
“Bilgi”’nin Gösterimi “Bilgi” İnsan veya Makina Yorumlama Öngörme
Nesneye Dayalı Kavramlar Uygulama 2
KÜMELER HAZIRLAYAN : SELİM ACAR
PHP ile Nesneye Yönelik Programlama
Bölüm 3 Atama ve Girdi/Çıktı Komutları
BLP 4210 PLATFORM BAĞIMSIZ PROGRAMLAMA
ARDUİNO Arduino Eğitimleri Bölüm 4 Programlama Dili Temelleri - II
Mobil uygulama geliştirme pelin yıldırım Fatma bozyiğit
3.hafta METODLAR.
Bilgisayar Programlamasına ve Veri Analizine Giriş
Soyut veri tipleri ve kapsülleme kavramları
BİLGİSAYAR programlama II
NİŞANTAŞI ÜNİVERSİTESİ
Arduino Programlama Dili
Nesneye Dayalı Programlama 1
Fragment.
Nesne yönelimli programlama desteği
NİŞANTAŞI ÜNİVERSİTESİ
Nesneye Dayalı Programlama 1
NİŞANTAŞI ÜNİVERSİTESİ
Bilgisayar Bilimi Koşullu Durumlar.
Nesneye Dayalı Programlama 1
Fonksiyonlar ve Alt Programlar
6. DÖNGÜ (TEKRARLAMA) DEYİMLERİ
Bilgisayar Bilimi Fonksiyon Yazma.
Değerler ve Değişkenler
DAHİLİ SINIFLAR(INNER CLASSES)
NİŞANTAŞI ÜNİVERSİTESİ
Nesneye Dayalı Programlama 1
NİŞANTAŞI ÜNİVERSİTESİ
MTM216 GÖRSEL PROGRAMLAMA
MTM216 GÖRSEL PROGRAMLAMA
BLP 4210 PLATFORM BAĞIMSIZ PROGRAMLAMA
BLP 4210 PLATFORM BAĞIMSIZ PROGRAMLAMA
Algoritmalar ve Programlama II Ders 11: Kalıtım
NİŞANTAŞI ÜNİVERSİTESİ
Sunum transkripti:

BLP 4210 PLATFORM BAĞIMSIZ PROGRAMLAMA Dr. Aslı Ergün 1

Scanner Sınıfı import java.util.Scanner; public class ScannerSinifi { public static void main(String args[]){ Scanner input = new Scanner(System.in); //Kullanıcıdan int değer alabilmek için Scanner sınıfını kullandık System.out.print("Lütfen ilk sayiyi giriniz: "); int sayi1 = input.nextInt(); //int değer alıyoruz System.out.print("Lütfen ikinci sayiyi giriniz: "); int sayi2 = input.nextInt(); //int değer alıyoruz System.out.println("Toplam: "+(sayi1+sayi2)); }

Scanner veri okuma fonksiyonları nextLine() -> String nextInt() -> Integer nextByte() -> Byte nextFloat -> Float nextDouble -> Double 26.05.2019

Veri Türleri Çevirmek İçin Integer x = Integer.valueOf(str); // veya int y = Integer.parseInt(str); 26.05.2019

Sınıflar Gerçek dünyada, ayrı ayrı tanımlanabilen herşey bir nesnedir. Gerçek dünyada, benzer karakteristik ve davranışlara sahip nesneler bir sınıf (class) ile temsil edilir. Her nesnenin özellikleri(attributes), ve davranışları (behaviors) vardır. 26.05.2019

Örnek Sınıf: Bisiklet 26.05.2019 class Bisiklet { int hiz = 0; int vites = 1; void vitesDegistir(int yendiDeger) { vites = yeniDeger; } void hizlan(int artir) { hiz = hiz + artir; void frenYap(int azalt) { hiz = hiz - azalt; void durumListele() { System.out.println(" hiz:"+hiz+" vites:"+vites); 26.05.2019

Nesnelerin Yaratılması class BisikletOrnek { public static void main(String[] args) { Bisiklet b1 = new Bisiklet(); Bisiklet b2 = new Bisiklet(); b1.hizlan(10); b1.vitesDegistir(2); b1.durumListele(); b2.hizlan(40); b2.vitesDegistir(3); b2.durumListele(); } 26.05.2019

Metodlar Nesne tabanlı programlamada metod şeklinde kullanımımız düz programlamada fonksiyon olarak karşımıza gelmektedir. f z a b c Gelen parametreler, metod içinde işleme Sokulup, elde edilen bir değer döndürülür. Hiç parametre almayan ve hiç parametre Üretmeyen metodlarda bulunmaktadır 26.05.2019

Metodların özellikleri Class içerisinde tanımlanmalıdır Modifier bulunmalıdır (private,public,protected) return type herhangi bir veri tipi yada void olabilir Metod ismi belirtilmelidir Metod parametreleri parantez içerisinde belirtilmelidir . Eğer parametre almayacaksa parantez açılıp kapatılır Metod içerisinde kod blokları { işaretiyle başlar } işaretiyle sonlandırılır Metod parametrelerini ayırmak için , işareti kullanılır Exception lar metodların yanında { işaretinden önce belirtilebilir 26.05.2019

Metod Türleri Önceden Tanımlanmış Metotlar : Java kütüphanelerinde bulunan hazır metotlardır. Örneğin : Math sınıfına ait olan pow(x,y) metodu, x ve y olarak iki değer alır ve bir değer döndürür. Kullanıcı Tanımlı Metotlar: Bizim yazdığımız ve oluşturduğumuz metotlardır. 26.05.2019

Metod Imzası(signature) erişim_tipi (public,private) static (olabilir, olmayabilir ) dönüş_tipi(void ,int vb) foksiyon_ismi(parametreler){ // Gövde kısmı } 26.05.2019

Erişim Tipleri: public: public damgası bir değişkeni, metodu ya da sınıfı niteleyebilir. Niteledikleri öğeler herkes tarafından kullanılabilir. Private: Bazı değişken, metot ya da sınıflara başka sınıftaki kodların erişmesini engellemek, yalnız aynı sınıftaki kodlar erişebilmesi için kullanılır. Protected: Bir sınıf içindeki değişken ve metotlara alt-sınıfların erişebilmesini, ama paket içindeki ya da program içindeki başka kodların erişmesini engellemek isteyebiliriz 26.05.2019

Static Bir sınıfa ait anlık değişken tanımlandığında, o sınıfa ait her bir nesne içinde söz konusu değişkenin bir kopyası oluşur. static damgalı değişkenlere ana bellekte ancak birer tane yer ayrılır, her nesne için ayrı yer ayrılmaz. Böylece, o sınıfa ait bir çok nesne yaratılsa bile, static değişkenin değerini ortak olarak kullanırlar. Değişken veya metodda kullanılabilirler. Örn: static int m= 5; static double b ; static void renkSec (Color color) { .... } 26.05.2019

Hiç parametre almadan metod çağırılması public static void Ornek(int a){ int i; for(i=0;i<a;i++){ System.out.println("Java"); }} public static void Main(String[] Args){ Ornek(10); } 26.05.2019

2 tamsayı alıp, 1 tamsayı döndüren metod public class Ornekler { public static void main(String[] args) { System.out.println(usAl(1,3)); } 26.05.2019

public static int usAl(int taban,int us) { int sonuc=1; for(int i=1;i<=us;i++) sonuc=sonuc*taban; return sonuc; } 26.05.2019

String alıp String Döndüren Metod package ornekler; // kelime tersten import java.util.Scanner; public class Ornekler { public static String tersCevir(String kelime){ String sonuc=""; for(int i=kelime.length()-1;i>=0;i--) { sonuc+=kelime.charAt(i); } return sonuc; public static void main(String[] args){ Scanner scn=new Scanner(System.in); System.out.println("kelime gir."); String kelime=scn.nextLine(); System.out.println(tersCevir(kelime)); 26.05.2019

Java Veri Tiplerinin Çevrilmesi Int to String String strI = Integer.toString(i); String strI = "" + i; Strig to Int İmport java.lang.Integer Integer x = Integer.valueOf(str); // veya int y = Integer.parseInt(str); 26.05.2019

Kurucu Metod Her sınıf için, ilk çalışan özel bir metot vardır. Bu metoda kurucu (kurucu) diyoruz. New komutu ile nesne olan her sınıf önce bu metodu çalıştırır. class Daire{ static int yarıçap; static double çevre; static double alan; final static double pi = 3.14; // Kurucu metodunun tanımı public Daire( int r ){ yarıçap = r ; }; public static void main (String args[]) { Daire d1 = new Daire(7); } 26.05.2019

Örnek class Küp02 { static int uzunluk; static int genişlik; static int yükseklik; public int hacimBul (int u, int g, int y) { uzunluk = u; genişlik = g; yükseklik = y; return uzunluk * genişlik * yükseklik; } public static void main(String[] args) { Küp02 obj = new Küp02(); int hacim = obj.hacimBul(2,2,2); System.out.println("Küp02 'nin Hacmi : " + h); 26.05.2019

Aşırı yükleme(overloading) Java, aynı isme sahip birden fazla metodlar tanımlamamıza izin vermektedir. Bu şekilde birden fazla aynı metodun yazılmasına overloading, aşırı yükleme adı verilir. Metodların parametre türü veya sayısı farklı olmalıdır. 26.05.2019

class Adder{ static int add(int a,int b){return a+b;} static int add(int a,int b,int c){return a+b+c;} } class TestOverloading{ public static void main(String[] args){ System.out.println(Adder.add(11,11)); System.out.println(Adder.add(11,11,11)); }} 26.05.2019

Kalıtım(Miras) Bir sınıfta tanımlanmış değişkenlerin ve metotların yeniden tanımlanmasına gerek olmaksızın yeni bir sınıfa taşınabilmesidir. Bir sınıftan bir alt-sınıf (subclass) türetilir. Türetilen alt-sınıf, üst-sınıfta tanımlı olan bütün değişkenlere ve metotlara sahip olur. class A { int i, j; } class B extends A { int k; 26.05.2019

Aşırı Yazım(overriding) Bir alt-sınıfta tanımlanan bir metodun, üst-sınıfında tanımlı bir başka metodun yerine kullanmaya zorlanmasına denir. class Arac{ void run(){System.out.println("Arac calısıyor");} } class bisiklet extends Arac{ void run(){System.out.println("Bisiklet calısıyor");} public static void main(String args[]){ bisiklet obj = new bisiklet(); obj.run(); 26.05.2019

Çok Biçimlilik(polymorphism) Bir tek metot adıyla, birden çok farklı  metotları koşturma özeliğine, java’da polymorphism denir.   26.05.2019

class Sekil { double boyut1; double boyut2; Sekil(double a, double b) { boyut1 = a; boyut2 = b; } double alan() { System.out.println("Şeklin alanı henüz tanımlı değil! "); return 0; } } class Dikdortgen extends Sekil { Dikdortgen(double a, double b) { super(a, b); System.out.println("Dikdörtgenin alanı."); return boyut1 * boyut2; class Ucgen extends Sekil { Ucgen(double a, double b) { System.out.println("Üçgenin alanı."); return boyut1 * boyut2 / 2;

class AlanBul { public static void main(String args[]) { Sekil f = new Sekil(15, 15); Dikdortgen r = new Dikdortgen(7, 4); Ucgen t = new Ucgen(9, 6); Sekil ref; ref = r; System.out.println("Alan = " + ref.alan()); ref = t; ref = f; } } 26.05.2019

Super Metodu Bir alt-sınıf ne zaman üst-sınıfına erişmek isterse super anahtar sözcüğünü kullanabilir. class Kutu { double en; double boy; double yukseklik; Kutu(double e, double b, double y) { en = e; boy = b; yukseklik = y; } class AltKutu extends Kutu { double agr; AltKutu(double e, double b, double y, double a) { super(e, b, y); agr = a; } } 26.05.2019

Final Bu terim nitelediği öğenin sabit kılındığını ve değiştirilemeyeceğini belirtir. Eğer final belirtkesi class öğeleri için kullanılırsa, o class’ın alt-sınıfları yaratılamaz. class test { // bu değişkenin değeri değişemez final int sayac = 21; // bu metot üzerine yazılamaz final int deneMetot(int a, int b) { } 26.05.2019

class A { final void deneme() { System. out class A { final void deneme() { System.out.println("Bu bir final metot’tur."); } class B extends A { void deneme() { // HATA! Override edilemez. System.out.println("Geçersidir!"); }} ------ final class A { // ... // bu alt sınıf yaratılamaz. class B extends A { // HATA! 26.05.2019

abstract absract ifadesi soyut class veya soyut metot yaratır. Soyut metotların adı, değişkenleri ve değer-tipi (return type) belirtilir, ama metot gövdesi yazılamaz. Abstract class’tan nesne yaratılamaz. Abstract sınıf kullanılarak alt sınılar yaratılır. abstract class Araba{ private int agirlik; private String renk; private String model; abstract void setrenk (Color color); public void setModel(String model) { this.model = model; } 26.05.2019

// soyut sınıf abstract class A { // soyut sınıf içinde en az bir soyut bir metot yer almalıdır abstract void soyMet(); // soyut sınıf içinde somut metot olabilir void somMet() { System.out.println("Ben somut bir metodum."); } } class B extends A { void soyMet() { System.out.println("Sen soyut bir metotsun."); } class UygulamaPrg { public static void main(String args[]) { B b = new B(); b.soyMet(); b.somMet(); } } 26.05.2019

Paketler(Packages) Java programları paketlerden (packages) oluşur. Paketlerin içinde sınıflar ve arayüzler (classes and interfaces) bulunur. Ayrıca, paketler başka paketlerin dışalımını (import) yapabilir. Bir paket içinde tanımlanan sınıflar ve arayüzler her istenildiğinde tekrar takrar kullanılabilirler 26.05.2019

Package kullanım örneği package paket_adı ; import paket_listesi; { //paket gövdesi } 26.05.2019