BLP 4210 PLATFORM BAĞIMSIZ PROGRAMLAMA

Slides:



Advertisements
Benzer bir sunumlar
Java Programlama Giriş/Çıkış
Advertisements

SCANNER SINIFI ve KLAVYEDEN VERİ OKUNMASI
Programlama-II (Java ile Bilgisayar Programlama)
Hata Kontrol & İstisna durumları
Veri Yapıları ve Algoritmalar dönem
Bölüm 4 – Kontrol İfadeleri:1.kısım
CHAIN OF RESPONSIBILITY
P AKET E RIŞIMLERI SıNıFLARıN YENIDEN KULLANıMı. P AKET ( P ACKAGE ) Paketler kütüphaneleri oluşturan elemanlardır. import java.io.BufferedReader; BufferedReader.
Java Programlama Koleksiyon(Collection) Sınıfları
Nesneye Yönelik Programlama Dr. Pelin GÖRGEL
Erişim Denetimi, Fonksiyon
Java Sınıf ve Nesne Kavramı UML Gösterimi
ÇOK BİÇİMLİLİK POLYMORPHISM
JAVA’DA DÖNGÜLER.
EDUTIME Java Day 8 Serdar TÜRKEL.
BTP205 – Görsel Programlama I
Kalıtım , Sınıf Asli Ergün.
JAVA’DA DİZİLER Dr.Galip AYDIN.
Bil 102 Bölüm 6 Diziler.
Bil 102 Bölüm 3 Java’da Program Akış Denetimi Bil 1021.
Outline 4.1 Giriş 4.2 Algoritmalar 4.3 Pseudocode 4.4 Kontrol İfadeleri 4.5 if tek-seçimli ifadeler 4.6 if else seçimli ifadeler 4.7 while döngü ifadeleri.
Ders 2- Veri türleri, Karar ve Döngü Yapıları, Görsel Kontröller
JAVA PROGRAMLAMA ORNEKLER
Görsel C# ile Windows Programlama
HIBERNATE Uygulama ile birleştirilmesi hibernate.cfg.xml Ö ğ renci Tablosunun Hibernate’e uyarlanması Session, Transaction save, update, delete HQL Criteria.
Doç. Dr. Cemil Öz SAÜ Bilgisayar Mühendisliği Dr. Cemil Öz.
MOB İ L UYGULAMA GEL İ ŞT İ RME Hafta 11. VER İ LER İ SAKLAMA Android sistemlerinde hazırlanacak projelerde verileri saklamak için android sisteminin.
Bölüm 13: İstisnaların ve Olayların Yönetilmesi. İstisnaların ve Olayların Yönetilmesi (Exception Handling and Event Handling)
Kompozisyon Bir Sınıf diğer sınıf nesne referanslarını içinde barındırabilir. Bu referanslar sınıfın üyeleridir.
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:
JAVA 1. GİRİŞ & TARİHÇE Java, Sun Microsystems mühendislerinden James Gosling tarafından geliştirilmeye başlanmıştır. Açık kodlu. Nesneye yönelik. Düzlemden.
Web Teknolojileri Hafta 6 1. İçerik  Javascript 2.Kısım 2.
TC Windows Editörü DevC++. KURULUM PROGRAMIN KURULACAĞI YER BURADA BELİRLENİYOR.
3. Hafta İçeriği Operatörler Karar yapıları Döngüler.
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.
İbrahim Olgaç PROGRAMLAMA DİLLERİ SUNUMU C#
Kural Motorları Bora Güngören Portakal Teknoloji AB
JDK(Java  Development  Kit):  Java  kodlarını  derlemek  için gerekli  geliştirme  ortamını.
METOTLAR.
Vize Sorusu Klavyeden girilen N adet sayıyı List1 nesnesinde gösteren ve bu sayıların toplamını ve ortalamasını Text1 ve Text2 nesnesinde yazdıran.
Nesneye Dayalı Kavramlar Uygulama 1
PROGRAMLAMA DİLLERİNE GİRİŞ Ders 6: Sınıflar
Nesneye Dayalı Kavramlar Uygulama 2
PHP ile Nesneye Yönelik Programlama
Mobil uygulama geliştirme pelin yıldırım Fatma bozyiğit
BLP 4210 PLATFORM BAĞIMSIZ PROGRAMLAMA
3.hafta METODLAR.
Soyut veri tipleri ve kapsülleme kavramları
JAVA’DA DİZİLER. Özet  Dizi: belirli sayıda ve aynı veri türünden de ğ işkenlere aynı adla erişilmesini sa ğ layan bir yapıdır.  Dizilerde döngü işlemleri.
© Marmara Üniversitesi Uzaktan Eğitim Uygulama ve Araştırma Merkezi
Nesneye Dayalı Programlama 1
Nesne yönelimli programlama desteği
NİŞANTAŞI ÜNİVERSİTESİ
Nesneye Dayalı Programlama 1
Kurucular(Yapıcılar), Yıkıcılar
Nesneye Dayalı Programlama 1
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
NİŞANTAŞI ÜNİVERSİTESİ
BLP 4210 PLATFORM BAĞIMSIZ PROGRAMLAMA
VERİTABANI YÖNETİM SİSTEMLERİ 6-SQL Server-3-DDL
BLP 4210 PLATFORM BAĞIMSIZ PROGRAMLAMA
SUBJECT NAME Prepeared by Write the names of group members here
NİŞANTAŞI ÜNİVERSİTESİ
BLP 4210 PLATFORM BAĞIMSIZ PROGRAMLAMA
Sunum transkripti:

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

Erişim Türleri Private: Sınıfa özel değişkenlerdir. Public: Herkese açık olan değişkenlerdir. Protected: Alt sınıflara türeyenlere ve aynı pakette olanlara açık olan değişkenlerdir.

Main.java package com.company; import com.company.TestA.kisi1; public class Main { public static void main(String[] args) { kisi1 ali = new kisi1(); System.out.println(ali.var2); personel veli = new personel(); System.out.println(veli.var2); System.out.println(veli.var3); guvenlik g1 = new guvenlik(); System.out.println(g1.var2); System.out.println(g1.var3); } }

kisi1.java package com.company.TestA; public class kisi1 { private String var1; public String var2; protected String var3; public kisi1() { var1 = "kisi1 private değişken"; var2 = "kisi1 public değişken"; var3 ="kisi1 protected değişken"; } }

personel.java package com.company; public class personel { private String var1; public String var2; protected String var3; public personel() { var1 = "personel private değişken"; var2 = "personel public değişken"; var3 ="personel protected değişken"; } }

guvenlik.java package com.company; public class guvenlik extends personel{ private String var1; public String var2; protected String var3; public guvenlik() { var1 = "guvenlik private değişken"; var2 = "guvenlik public değişken"; var3 = "guvenlik protected değişken"; } }

Kapsülleme Sınıfın bazı özellik ve metodlarına dışarıdan erişim sınıfın güvenliği açısından tehlikeli olabilir. Bir sınıf içeriğinin, onun üyelerini kullananlar tarafından bilinmesine gerek duymadan sadece metodun verdiği hizmetin gösterilmesi işlemidir. Kapsülleme ile bir sınıf, kendi iç bütünlüğünü gizleyebilir ve koruyabilir. 24.04.2019

public class Kisi { private String ad; private String soyad; private int yas; public String getAd() { return ad; } public void setAd(String ad) { this.ad = ad; public String getSoyad() { return soyad; public void setSoyad(String soyad) { this.soyad = soyad; public int getYas() { return yas; public void setYas(int yas) { if(yas>0) this.yas= yas;

Kurucu Metod eklenmesi(IntelliJ) 24.04.2019

24.04.2019

24.04.2019

24.04.2019

Kapsülleme(Getters, Setters) 24.04.2019

24.04.2019

24.04.2019

public class EncapsTest{ public static void main(String args[]){ class Ogrenci{ private int tc; private String adsoy; private int yas; //Getter and Setter methods public int getTC(){ return tc; } public String getAdsoy(){ return adsoy; public int getYas(){ return yas; public void setYas(int newValue){ yas = newValue; public void setAdsoy(String newValue){ adsoy = newValue; public void setTC(int newValue){ tc = newValue; } } public class EncapsTest{ public static void main(String args[]){ Ogrenci obj = new Ogrenci(); obj.setAdsoy("Ali"); obj.setYas(32); obj.settc(11223323900); System.out.println("Adı: " + obj.getAdsoy()); System.out.println("TC: " + obj.getTC()); System.out.println("Yas: " + obj.getYas()); }

Try-catch-finally try { //hesaplanmak istenen ifade } catch //Bir hata türü tespit edilince verilmesi gereken mesaj //başka Bir hata türü tespit edilince verilmesi gereken mesaj finally //her durumda çalıştırılacak olan kod parçası

Hata Ayıklama(Exception) System tanımlı Kullanıcı tanımlı 24.04.2019

System Exceptions Checked Exception (pembe renkli)Java’da kod geliştirme esnasında try-catch-finally bloğu içerisinde yakalanan ve daha sonra işlem yapılabilen, istenildiği takdirde bypass edilerek programın çalışmasına belkide kullanıcının hiç haberi olmadan devam edilmesini sağlayan exception çeşitleridir. Unchecked exception (mavi renkli) tipinde Runtime Exception Java’da yine kod geliştirme esnasında try-catch-finally bloğuyla yakalanabilir ve checked exception tipinde olduğu gibi istenildiği gibi işlem devam ettirilebilir. Fakat kodu geliştirme esnasında IDE yazılımcıyı uyarmaz.

Built-in Exceptions Arithmetic Exception It is thrown when an exceptional condition has occurred in an arithmetic operation. ArrayIndexOutOfBoundException It is thrown to indicate that an array has been accessed with an illegal index. The index is either negative or greater than or equal to the size of the array. ClassNotFoundException This Exception is raised when we try to access a class whose definition is not found FileNotFoundException This Exception is raised when a file is not accessible or does not open. IOException It is thrown when an input-output operation failed or interrupted InterruptedException It is thrown when a thread is waiting , sleeping , or doing some processing , and it is interrupted. NoSuchFieldException It is thrown when a class does not contain the field (or variable) specified NoSuchMethodException It is thrown when accessing a method which is not found. NullPointerException This exception is raised when referring to the members of a null object. Null represents nothing NumberFormatException This exception is raised when a method could not convert a string into a numeric format. RuntimeException This represents any exception which occurs during runtime. StringIndexOutOfBoundsException It is thrown by String class methods to indicate that an index is either negative than the size of the string 24.04.2019

Arithmetic exception // Java program to demonstrate ArithmeticException class ArithmeticException_Demo { public static void main(String args[]) try { int a = 30, b = 0; int c = a/b; // cannot divide by zero System.out.println ("Result = " + c); } catch(ArithmeticException e) { System.out.println ("Can't divide a number by 0"); 24.04.2019

StringIndexOutOfBound Exception // Java program to demonstrate StringIndexOutOfBoundsException class StringIndexOutOfBound_Demo { public static void main(String args[]) try { String a = "This is like chipping "; // length is 22 char c = a.charAt(24); // accessing 25th element System.out.println(c); } catch(StringIndexOutOfBoundsException e) { System.out.println("StringIndexOutOfBoundsException"); 24.04.2019

File Not Found Exception public void ExceptionTryExample() { FileInputStream inputStream = null; try { File file = new File("./tmp.txt"); inputStream = new FileInputStream(file); // use the inputStream to read a file } catch (FileNotFoundException e) { log.error(e); } finally { if (inputStream != null) { inputStream.close(); } catch (IOException e) { }

Kullanıcı Tanımlı Exception class MyException extends Exception { //store account information private static int accno[] = {1001, 1002, 1003, 1004}; private static String name[] = {"Nish", "Shubh", "Sush", "Abhi", "Akash"}; private static double bal[] = {10000.00, 12000.00, 5600.0, 999.00, 1100.55}; // default constructor MyException() { } // parametrized constructor MyException(String str) { super(str); } // write main() public static void main(String[] args) try { // display the heading for the table System.out.println("ACCNO" + "\t" + "CUSTOMER" + "\t" + "BALANCE"); 24.04.2019

Kullanıcı Tanımlı Exception // display the actual account information for (int i = 0; i < 5 ; i++) { System.out.println(accno[i] + "\t" + name[i] + "\t" + bal[i]); // display own exception if balance < 1000 if (bal[i] < 1000) MyException me = new MyException("Balance is less than 1000"); throw me; } } //end of try catch (MyException e) { e.printStackTrace(); 24.04.2019

Text Dosya Okuma InputStreamReader, FileReader, BufferedReader ciasses to read text files. Reader is the abstract class for reading character streams. It implements the following fundamental methods: read(): reads a single character. read(char[]): reads an array of characters. skip(long): skips some characters. close(): closes the stream. 24.04.2019

FileReader package net.codejava.io; import java.io.FileReader;   import java.io.FileReader; import java.io.IOException; /**  * This program demonstrates how to read characters from a text file.  * @author www.codejava.net  *  */ public class TextFileReadingExample1 {     public static void main(String[] args) {         try {             FileReader reader = new FileReader("MyFile.txt");             int character;             while ((character = reader.read()) != -1) {                 System.out.print((char) character);             }             reader.close();         } catch (IOException e) {             e.printStackTrace();         }     } }

FileInputStream-1 24.04.2019 package net.codejava.io;   import java.io.FileInputStream; import java.io.IOException; import java.io.InputStreamReader; /**  * This program demonstrates how to read characters from a text file using  * a specified charset.  * @author www.codejava.net  *  */ public class TextFileReadingExample2 {     public static void main(String[] args) {         try {             FileInputStream inputStream = new FileInputStream("MyFile.txt");             InputStreamReader reader = new InputStreamReader(inputStream, "UTF-16");             int character;             while ((character = reader.read()) != -1) {                 System.out.print((char) character);             }             reader.close();         } catch (IOException e) {             e.printStackTrace();         }     } } 24.04.2019

FileInputStream-2 import java.io.FileInputStream; import java.io.FileNotFoundException; import java.io.IOException; import java.nio.charset.StandardCharsets; public class FileInputStreamEx3 { public static void main(String[] args) throws FileNotFoundException, IOException { String fileName = "/home/janbodnar/tmp/bigfile.txt"; try (FileInputStream fis = new FileInputStream(fileName)) { int i = 0; do { byte[] buf = new byte[1024]; i = fis.read(buf); String value = new String(buf, StandardCharsets.UTF_8); System.out.print(value); } while (i != -1); }

BufferedReader 24.04.2019 package net.codejava.io;   import java.io.BufferedReader; import java.io.FileReader; import java.io.IOException; /**  * This program demonstrates how to read characters from a text file  * using a BufferedReader for efficiency.  * @author www.codejava.net  *  */ public class TextFileReadingExample3 {     public static void main(String[] args) {         try {             FileReader reader = new FileReader("MyFile.txt");             BufferedReader bufferedReader = new BufferedReader(reader);             String line;             while ((line = bufferedReader.readLine()) != null) {                 System.out.println(line);             }             reader.close();         } catch (IOException e) {             e.printStackTrace();         }     } } 24.04.2019

Text Dosya Yazma Writer is the abstract class for writing character streams. It implements the following fundamental methods: write(int): writes a single character. write(char[]): writes an array of characters. write(String): writes a string. close(): closes the stream. 24.04.2019

FileWriter 24.04.2019 package net.codejava.io;   import java.io.FileWriter; import java.io.IOException; /**  * This program demonstrates how to write characters to a text file.  * @author www.codejava.net  *  */ public class TextFileWritingExample1 {     public static void main(String[] args) {         try {             FileWriter writer = new FileWriter("MyFile.txt", true);             writer.write("Hello World");             writer.write("\r\n");   // write new line             writer.write("Good Bye!");             writer.close();         } catch (IOException e) {             e.printStackTrace();         }     } } 24.04.2019

Wrapped BufferedWriter package net.codejava.io;   import java.io.BufferedWriter; import java.io.FileWriter; import java.io.IOException; /**  * This program demonstrates how to write characters to a text file  * using a BufferedReader for efficiency.  * @author www.codejava.net  *  */ public class TextFileWritingExample2 {     public static void main(String[] args) {         try {             FileWriter writer = new FileWriter("MyFile.txt", true);             BufferedWriter bufferedWriter = new BufferedWriter(writer);             bufferedWriter.write("Hello World");             bufferedWriter.newLine();             bufferedWriter.write("See You Again!");             bufferedWriter.close();         } catch (IOException e) {             e.printStackTrace();         }     } } 24.04.2019

OutputStreamWriter ve BufferedWriter package net.codejava.io;   import java.io.BufferedWriter; import java.io.FileOutputStream; import java.io.IOException; import java.io.OutputStreamWriter; /**  * This program demonstrates how to write characters to a text file using  * a specified charset.  * @author www.codejava.net  *  */ public class TextFileWritingExample3 {     public static void main(String[] args) {         try {             FileOutputStream outputStream = new FileOutputStream("MyFile.txt");             OutputStreamWriter outputStreamWriter = new OutputStreamWriter(outputStream, "UTF-16");             BufferedWriter bufferedWriter = new BufferedWriter(outputStreamWriter);                           bufferedWriter.write("Xin chào");             bufferedWriter.newLine();             bufferedWriter.write("Hẹn gặp lại!");             bufferedWriter.close();         } catch (IOException e) {             e.printStackTrace();         }               } } 24.04.2019

Arayüzler(Interface) Java dilinde interface adını taşıyan, tasarım şablonlarında ve modellemede kullanılan sınıflar tanımlamak mümkündür Arayüz kullanarak, bir sınıfın neler yapacağını belirlerken, onları nasıl yapacağını gizleyebiliriz. Interface içerisinde sadece fonksiyon, prosedür tanimlamasi yapabiliriz. Interface içerisinde degisken tanimlamasi yapilmaz!!! 24.04.2019

24.04.2019

public interface IKisiBilgileri { public String getAdSoyad(); publicvoid setAdSoyad(String adSoyad); // public String getEPosta(); publicvoid setEPosta(String ePosta); public String getTelefon(); publicvoid setTelefon(String telefon); } 24.04.2019

Public class Ogrenci implements IKisiBilgileri { private String adSoyad; private String ePosta; private String telefon; public String getAdSoyad() { returnthis.adSoyad; } publicvoid setAdSoyad(String adSoyad) { this.adSoyad = adSoyad; public String getEPosta() { returnthis.ePosta; publicvoid setEPosta(String ePosta) { this.ePosta = ePosta; public String getTelefon() { returnthis.telefon; publicvoid setTelefon(String telefon) { this.telefon = telefon; 24.04.2019

Çoklu Kalıtım Diamond Problemi: Bir sınıf iki sınıfın alt sınıfı ise ve aynı adlı metod bulunursa hata verir. Bunun yerine çoklu kalıtımda interface kullanılır. 24.04.2019

Sınıf ve alt Interface önceliği vardır Aynı adlı metodların öncelik sırasına göre override etmesi beklenir. 24.04.2019

Multiple Inheritance Bu ornekte ClassA'daki setMessage metodu çalışır. 24.04.2019

Arayüz ve Abstract arasında fark Abstract sınıflar: Kod içerisinde “new” anahtar sözcüğü ile nesne haline getirilemezler. Bir sınıf sadece bir abstract sınıfı türetilebilir( inherit alabilir). Abstract sınıfda method ve değişkenler tanımlanabilir. Interface sınıflar: Bir sınıf birden fazla interface implemente edebilir. Interface içerisine sadece boş method’lar tanımlanabilir.