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

Benzer belgeler
BBS515 Nesneye Yönelik Programlama. Ders 1 Zümra Kavafoğlu

Java Temel Özellikleri

1.1. Yazılım Geliştirme Süreci

BİLGİSAYAR PROGRAMLAMAYA GİRİŞ

Görsel Programlama DERS 01. Görsel Programlama - Ders01/ 1

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ü

ALGORİTMA VE PROGRAMLAMA I

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

İÇERİK 2 Java Kodlaması için Gerekli Programlar JRE, JDK kurulması ve Başlangıç Ayarları Java Kodlamayı Kolaylaştıran IDE ler Java Kod Yapısı İlk Java

MAT213 BİLGİSAYAR PROGRAMLAMA I DERSİ Ders 1: Programlamaya Giriş

Bilgisayarda Programlama. Temel Kavramlar

Java JDK (Java Development Kit) Kurulumu:

Java 2 Standart Edition SDK Kurulum ve Java ya Giriş

Bölüm1. İlk Bilgiler ISBN

PROGRAMLAMAYA GİRİŞ. Öğr. Gör. Ayhan KOÇ. Kaynak: Algoritma Geliştirme ve Programlamaya Giriş, Dr. Fahri VATANSEVER, Seçkin Yay.

BİT in Temel Bileşenleri (Yazılım-1)

BİL 542 Paralel Hesaplama. Dersi Projesi. MPJ Express Java Paralel Programlama

Bilgisayar Mühendisliğine Giriş. Yrd.Doç.Dr.Hacer KARACAN

Bilgi ve İletişim Teknolojileri (JFM 102) Ders 10. LINUX OS (Programlama) BİLGİ & İLETİŞİM TEKNOLOJİLERİ GENEL BAKIŞ

Bölüm 1. Ön Hazırlıklar ISBN

Dr. Fatih AY Tel: fatihay@fatihay.net

Program Nedir? Program, bir problemin çözümü için herhangi bir programlama dilinin kuralları ile oluşturulmuş komut kümesidir.

1. HAFTA TEMEL KURULUM İŞLEMLERİ ve NESNE TABANLI PROGRAMLAMA KAVRAMLARI

C# nedir,.net Framework nedir?

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

1) Programlama dillerinin temel kavramlarını öğrenir. 1,2,4 1

Ruby Nedir? 1.1 Amaçlar. 1.2 Ruby nin Yapısal Sıradüzeni

Yazılım Mühendisliğine Giriş 4. Hafta 2016 GÜZ

Temel Bilgisayar Programlama

TEMEL BİLGİ TEKNOLOJİLERİ KULLANIMI

Tarih Saat Modül Adı Öğretim Üyesi. 01/05/2018 Salı 3 Bilgisayar Bilimlerine Giriş Doç. Dr. Hacer Karacan

R ile Programlamaya Giriş ve Uygulamalar

BBS515 Nesneye Yönelik Programlama

Programlama Dillerinde Kullanılan Veri Tipleri

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

Data Structures Lab Güz

Öğr. Gör. Serkan AKSU 1

Yazılım Nedir? 2. Yazılımın Tarihçesi 3. Yazılım Grupları 4 Sistem Yazılımları 4 Kullanıcı Yazılımları 5. Yazılımın Önemi 6

BM-311 Bilgisayar Mimarisi

DENİZ HARP OKULU BİLGİSAYAR MÜHENDİSLİĞİ BÖLÜM BAŞKANLIĞI DERS TANITIM BİLGİLERİ

Hacettepe Robot Topluluğu

BİLGİSAYAR ORGANİZASYONU

Hata Ayıklamanın Ötesi... (Assertion) Altuğ B. Altıntaş 2003 Java ve Yazılım Tasarımı - Bölüm 14 1

GÖRSEL PROGRAMLAMA - I

Ünite-3 Bilgisayar Yazılımı.

Bilgisayar Programlama. 1.Hafta

Üst Düzey Programlama

ALGORİTMA VE PROGRAMLAMA I DERS#3

VERİ YAPILARI VE PROGRAMLAMA (BTP104)

BÖLÜM 1: PROGRAMLAMAYA GİRİŞ

Metin Editörleri YRD. DOÇ. DR. ENGİN CEMAL MENGÜÇ. ALINTI:

C++ da Nesne Kavramı

Android e Giriş. Öğr.Gör. Utku SOBUTAY

BİLGİSAYAR MÜHENDİSLİĞİ BÖLÜM BAŞKANLIĞI DERS TANITIM BİLGİLERİ

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

Bahar. BM 211 Programlama Dilleri 3 1

C++ Dersi: Nesne Tabanlı Programlama

Yazılım Mühendisliği 1

JAL IN İNTERNET TEN İNDİRİLMESİ VE KURULMASI

Lecture 11: Generics

PROGRAMLAMA TEMELLERİ

Java Programlamaya Giriş

Linux ve Windows Üzerinde C ve C++ Kullanımı

PROGRAMLAMA DİLLERİ. Programlama Dilleri Programlama Dillerinin Önemi Dilleri Sınıflandırılması Anlambilim BNF Notasyonu Kontrol Deyimleri

Bölüm 11. Soyut veri tipleri ve kapsülleme kavramları ISBN

BİLGİSAYAR MÜHENDİSLİĞİ BÖLÜM BAŞKANLIĞI DERS TANITIM BİLGİLERİ

10.DERS Yazılım Gerçekleştirme

Üst düzey dillerden biri ile yazılmış olan bir programı, makine diline çeviren programa derleyici denir. C++ da böyle bir derleyicidir.

İçerik. Temel Kavramlar. Yazılım Geliştirme Aşamaları. Problemi Anlama ve Çözümleme. Biçimsel Gösterim - 1. Nesneye Yönelik Programlama

Kalıtım (Inheritance)

Temel Kavramlar. BS-515 Nesneye Yönelik Programlama. Ders #1 (26 Ekim 2009)

JAVA PROGRAMLAMA DİLİ ÖZELLİKLERİ

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

MTK467 Nesneye Yönelik Programlama. Hafta 4 - Döngüler Zümra Kavafoğlu

BCA611 Video Oyunları için 3B Grafik. Zümra Kavafoğlu

BİL-142 Bilgisayar Programlama II

BMS-302 İleri Web Programlama. İş Parçacığı (Thread) ve Soket (Socket) Programlama

İç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.

Bigisayar Programlama (GÜZ 2015)

Bil101 Bilgisayar Yazılımı I. M. Erdem ÇORAPÇIOĞLU Bilgisayar Yüksek Mühendisi

Akıllı telefonlar, avuçiçi bilgisayarlar ile taşınabilir (cep) telefonların özelliklerini birleştiren cihazlardır. Akıllı telefonlar kullanıcıların

DENİZ HARP OKULU BİLGİSAYAR MÜHENDİSLİĞİ BÖLÜM BAŞKANLIĞI DERS TANITIM BİLGİLERİ

Nesne Yönelimli Programlama

Windows 10 için Java JDK 8 ve NetBeans IDE 8.2 Kurulumu Detaylı Anlatım

4. Bölüm Programlamaya Giriş

PROGRAMLAMAYA GİRİŞ FONKSİYONLAR

MAK 1005 Bilgisayar Programlamaya Giriş. BİLGİSAYARA GİRİŞ ve ALGORİTMA KAVRAMI

SPARC v8 İŞLEMCİ SİMÜLASYONU

BİLGİSAYAR PROGRAMLAMA MATLAB

Java ile OpenGL e Giriş. NetBeans IDE si üzerinden kurulum

Çoktan Seçmeli Değerlendirme Soruları Akış Şemaları İle Algoritma Geliştirme Örnekleri Giriş 39 1.Gündelik Hayattan Algoritma Örnekleri 39 2.Say

Bilgisayar Programlama Dilleri

Windows Programlama Güz Dönemi

Hafta 7 C Programlama Diline Giriş ve C Derleyicisi

Algoritma ve Programlamaya Giriş. Mustafa Kemal Üniversitesi Kırıkhan Meslek Yüksekokulu Bilgisayar Teknolojileri Bölümü

NESNE YÖNELİMLİ PROGRAMLAMA HAFTA # 1. Yrd.Doç.Dr.Hacer Karacan

Yrd. Doç. Dr. İlhan AYDIN Güz Dönemi Fırat Üniversitesi Bilgisayar Mühendisliği Bölümü

Nesne Yönelimli Programlama

Spring Giriş Eğitimi

Nesne Tabanlı Programlama Dersi Edirne Kız Teknik ve Meslek Lisesi

Transkript:

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

Dersin Amacı Nesneye Yönelik Programlama Kavramını Java Dili Üzerinden Öğrenmek Nesneye yönelik programlama ile ilgili nesne, sınıf, kalıtım, çok biçimlilik, kapsülleme, arayüzler gibi temel kavramları tanıtmak Bu kavramları kullanarak Java programlama diliyle program yazma becerisi kazanmak

Puanlama 5 ödev projesi (% 30) - En yüksek puanlı 4 ödev 1 arasınav (%30) Final (%40) Derslere düzenli katılım beklenmektedir.

İletişim e-posta adresi : zdemir@hacettepe.edu.tr

Bu derste neler öğreneceğiz? Programlama Dilleri ve Seviyeleri Programlama Dillerinin Tarihçesi Tipik bir Java geliştirme Ortamı JRE ve JDK Örnek bir Java kodu IDE (Tümleşik Geliştirme Ortamı)

Programlama Dilleri ve Seviyeleri Programlama dili, bir makineye özellikle de bilgisayara bir takım talimatlar vermek için tasarlanmış yapay bir dildir. Makine Dili, işlemcinin verilen komutlar doğrultusunda çalıştırılmasını sağlayan ve işlemci mimarisine göre değişen en alt seviyedeki programlama dilidir. Bu dil sadece 0 Ve 1 ikililerinin anlamlı kombinasyonlarından meydana gelmektedir. Bu nedenle, makine dilinin anlaşılması çok güçtür. Python, JavaScript, Java, C#, C++, C, Assembly Makine Dili

Programlama Dilleri ve Seviyeleri Assembly(Çevirme Dili), belirli bir bilgisayar mimarisine özelleşmiş düşük seviye bir programlama dilidir. Makine dilinden daha anlaşılırdır ama yüksek seviye dillere göre öğrenmesi ve yazması çok zordur. Assembly C Python, JavaScript, Java, C#, C++, C, Assembly Makine Dili

Programlama Dilleri ve Seviyeleri Yüksek Seviye Diller, gerçek dile(ingilizce) daha yakın komutlara sahip, bilindik matematik işlemlerini kapsayan, yazması ve öğrenmesi daha kolay programlama dilleridir. Günümüzde sıklıkla kullanılan C, C++, Java, Python gibi diller yüksek seviye programlama dilleridir. Bu dilleri makine diline çevirmek için derleyiciler kullanılır. Python, JavaScript, Java, C#, C++, C, Assembly Makine Dili

Yapısal ve Nesne Yönelimli Programlama Dili Farkları Yapısal Programlama Dili Nesne Yönelimli Programlama Dili Program fonksiyon adı verilen küçük parçalara bölünmüştür. Program nesne adı verilen küçük parçalara bölünmüştür. Top-down yaklaşım Bottom-up yaklaşım Yeni veri ve fonksiyon eklemek zordur, diğer bir deyişle genişletilebilirliği kolay değildir. Genellikle tüm veriler fonksiyonlar tarafından erişilebilirdir. Yeni veri ve fonksiyon eklemeyi kolaylaştıran bir yapıdadır. Veriler özel(private) veya genel(public) olarak tanımlanabilir ve böylece verinin erişilebilirliği kontrol altında tutulabilir.

Nesne nedir Yazılım nesneleri, gerçek hayattaki nesnelere benzer özellikler taşıyan yapılardır. Gerçek nesnelerin ortak iki özelliği vardır: bir duruma ve bir davranışa sahiptirler. Örneğin masa lambanızın iki farklı durumu vardır, Açık ve Kapalı, ve iki mümkün davranışı vardır Aç ve Kapa. Yazılım nesneleri de benzer şekilde durumlara ve davranışlara sahiptirler. Bir yazılım nesnesi durumunu değişkenler içinde tutarken, davranışını belirleyen metodlara sahiptir. Metodlar ait oldukları nesnenin durumu üzerinde işlem yapar ve nesneler arası iletişimde temel mekanizmayı oluşturur. Bir nesnenin iç durumunu saklamaya ve tüm iletişimleri metodlar aracılığıyla sağlamasına veri kapsüllemesi denir ve bu nesne yönelimli yazılımın temel prensiplerindendir.

Nesne nedir Örneğin bir bisikleti ele alalım. Bisikletin durumunu belirleyerek (hız, pedal ritmi ve vites) ve bu durumu değiştirecek metodlar tanımlayarak, dış dünyanın onu nasıl kullanabileceğinin kontrolünü elde etmiş oluruz. Örneğin bisiklet yalnızca 6 vitese sahipse, vites değiştirmek için tanımlanmış bir metod 1 den az veya 6 dan büyük bir değeri kabul etmeyecektir. https://docs.oracle.com/javase/tutorial/java/concepts/object.html

Nesne nedir Nesnelerle kod yazmanın bir çok faydası vardır - Modülerlik: Bir nesnenin kodu, sistemdeki diğer nesnelerin kodundan bağımsız olarak yazılabilir ve değiştirilebilir. Bir kere oluşturulduğunda sistemin istenilen yerinde rahatça kullanılabilir. - Bilgi saklama: Bir nesneyle yalnızca metodları aracılığıyla ilişki kurularak, onun iç yapısı dış dünyadan gizli hale getirilebilir. - Kodun yeniden kullanılması: Eğer bir nesne halihazırda mevcutsa (başka bir yazılımcı tarafından yazılmış da olabilir), bu nesneyi kendi programınızda kullanabilirsiniz. Böylelikle uzman yazılımcıların yazdığı ve test ettiği karmaşık ve göreve-özel nesneleri kendi programınızda güvenle kullanabilirsiniz. - Ekleme ve hata ayıklama kolaylığı: Eğer herhangi bir nesne problem çıkarıyorsa onu uygulamanızdan çıkarabilir ve yerine yeni bir nesne ekleyebilirsiniz. Bu gerçek dünyadaki mekanik problemleri çözmeye benzerdir. Eğer bir cıvata bozulursa, bütün makineyi değil onu değiştirirsiniz.

C ve C++ ın tarihçesi C - Yapısal bir programlama dilidir. - 1972 de Unix işletim sistemi için geliştirilmeye başlanmıştır. C++ - Nesne Yönelimli bir programlama dilidir. - 1979 da Danimarkalı Bilgisayar Bilimcisi Bjarne Stroustrup un doktora tezi için Sınıf içeren C üzerine çalışmasıyla geliştirilmeye başlanmıştır. - 1985 de ilk ticari sürümü yayımlanmıştır.

Java nın Tarihçesi Java - Nesne Yönelimli bir programlama dilidir. - 1991 de James Gosling, Mike Sheridan, ve Patrick Naughton tarafından ticari elektronik cihazlar için geliştirilmeye başlanmıştır. - 1995 de ilk sürümü Write Once, Run Everywhere mottosuyla Sun MicroSystems tarafından yayınlanmıştır. - Yazılımcılara tanıdık gelmesi için C/C++ benzeri bir syntax stiliyle tasarlanmıştır.

Tipik bir Java Geliştirme Ortamı Java Programları aşağıdaki 5 aşamadan oluşur - Düzenleme Programcı bir editör kullanarak kaynak kodu yazar ve kodun olduğu dosyayı.java uzantısıyla diske kaydeder. - Derleme javac(java Derleyicisi) kullanılarak kaynak kodundan bytecode üretilir, bytecode.class dosyasında saklanır. - Yükleme Sınıf yükleyici.class dosyasından bytecodeları hafızaya okur. - Doğrulama Bytecode doğrulayıcı geçerli olduklarından ve güvenlik kısıtlamalarını ihlal etmediklerinden emin olmak için bytecodeları inceler. - Çalıştırma Java Sanal Makinesi(Java Virtual Machine/JVM) bytecodeları makine diline çevirir.

Tipik bir Java geliştirme ortamı http://www.hubberspot.com/2012/03/how-to-create-compile-and-execute-java.html

JRE ve JDK JRE (Java Runtime Environment) Java ile yazılmış bir programın çalıştırılması için gerekli bileşenleri içeren bir yazılım paketidir (Bir Java Sanal Makinesi içerir) JDK (Java Development Kit) Java ile uygulama geliştirmek için gerekli araçları içeren bir yazılım paketidir. (javac derleyicisini içerir). JRE, JDK nın içinde yer alır. Java ile uygulama geliştirmek için JDK kurulumu şarttır. http://www.oracle.com/technetwork/java/javase/downloads/index.html adresinden indirip kurabilirsiniz.

Java kodu nasıl çalıştırılır? Java kodunu çalıştırmak için bir metin editörü (örneğin notepad ) ve komut penceresi yeterli.

Java kodu nasıl çalıştırılır?

IDE(Integrated Development Environment / Tümleşik Geliştirme Ortamı) Tümleşik geliştirme ortamı (IDE), bilgisayar programcılarının hızlı ve rahat bir şekilde yazılım geliştirebilmesini sağlayan araçlara sahip bir yazılım uygulamasıdır. Bir IDE genel olarak, Programlama diline göre sözdizimi renklendirmesi yapabilen kod yazım editörü ve Tümleşik bir derleyici, yorumlayıcı ve hata ayıklayıcıya sahiptir, böylece kod yazım sürecini hızlandırır. Belli başlı Java ideleri IntelliJ Eclipse Netbeans JCreator Bir sonraki derse kadar kişisel bilgisayarlarınıza JDK ve bir IDE kurunuz.