Nesneye Dayalı Kavramlar Uygulama 1

Slides:



Advertisements
Benzer bir sunumlar
Hâsılat kavramları Firmaların kârı maksimize ettikleri varsayılır. Kâr toplam hâsılat ile toplam maliyet arasındaki farktır. Kârı analiz etmek için hâsılat.
Advertisements

Hafta 7: Öz Türleri ve Fonksiyonları BBY 306 Dizinleme ve Öz Hazırlama.
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.
 1 – 5 Yaş Grubu  6 Yaş Anaokulu  7 – 16 Yaş İlk öğretim  Lise Eğitimi İSVEÇ EĞİTİM SİSTEMİ.
Beşinci hafta. Müfredat programı Ödev teslim Projelerini teslim edenler; Belediye Projesi -> Tamam Ulaşım Projesi -> Geldi ama kavramsal tasarım yerine.
YAZIM KURALLARI.
Atalet, maddenin, hareketteki değişikliğe karşı direnç gösterme özelliğidir.
Çözünme durumuna göre Tam çözünme: Bir elementin diğeri içerisinde sınırsız çözünebilmesi. Hiç çözünmeme: Bir elementin diğeri içinde hiç çözünememesi.
BİLGİSAYAR PROGRAMLAMA Ders 11: İşaretçi (Pointer) Kullanımı Yrd. Doç. Dr. Altan MESUT Trakya Üniversitesi Bilgisayar Mühendisliği.
Hazırlayan: Dr. Emine CABI
LINQ { C# 3.0 ve Language Integrated Query } MEHMET MECİT GÖK NO:
AKIL (ZİHİN) HARİTASI.
Zihinsel engellilerin sınıflandırılması
Arş.Gör.İrfan DOĞAN.  Bugün otizm tedavisinde en önemli yaklaşım, özel eğitim ve davranış tedavileridir.  Tedavi planı kişiden kişiye değişmektedir,
DONANIM VE YAZILIM.
9. HAFTA 25 Nisan2016. Fonksiyon M-Dosyaları Fonksiyon dosyaları ilk satırda “function” kelimesi bulunan “.m” uzantısı bulunan dosyalardır. MATLAB içinde.
Yazılım Mühendisliği1[ 3.hft ]. Yazılım Mühendisliği2 Yazılım İ sterlerinin Çözümlemesi Yazılım Yaşam Çevrimi “ Yazılım Yaşam çevrimin herhangi bir yazılım.
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.
ÖTÖ 451 Okul Yönetiminde Bilgisayar Uygulamaları R. Orçun Madran.
Doç. Dr. Cemil Öz SAÜ Bilgisayar Mühendisliği Dr. Cemil Öz.
Mustafa Süreyya SEZGİN Mustafa Süreyya SEZGİN HAT SANATI Arap harfleri çevresinde oluşmuş güzel yazı yazma sanatıdır. Bu sanat Arap harflerinin 6. yüzyıl.
Bölüm 2 C Dilinin Temelleri
SAYILAR ve RAKAMLAR.
FONKSİYONLAR.
METOTLAR.
Problem Çözme ve Algoritmalar
BİLGİSAYAR PROGRAMLAMA Ders 11: İşaretçi (Pointer) Kullanımı
MAT – 101 Temel Matematik Mustafa Sezer PEHLİVAN *
PROGRAMLAMA DİLLERİNE GİRİŞ Ders 6: Sınıflar
YÖNETİM- ÖRGÜT TEORİLERİ MODERN EKOL- SİSTEM TEORİSİ
Klavye Kullanımı.
STORAGE BÜŞRA KARADENİZ
Buluş nedir?.
Nesneye Dayalı Kavramlar Uygulama 2
KÜMELER HAZIRLAYAN : SELİM ACAR
Yazı Sistemleri.
PHP ile Nesneye Yönelik Programlama
Temel Bilgisayar Bilgileri
Bölüm 6 Örgütsel Yönlendirme
3.hafta METODLAR.
Soyut veri tipleri ve kapsülleme kavramları
Bölüm 7 İfadeler ve atamalar.
Hazırlık Sınıfı Hazırlık Sınıfı 1. Kurs Olarak Uygulama
NİŞANTAŞI ÜNİVERSİTESİ
MADDEYİ TANIYALIM.
Nesneye Dayalı Programlama 1
TEKNOLOJİ VE TASARIM DERSİ 7.D.1. Özgün Ürünümü Tasarlıyorum.
NİŞANTAŞI ÜNİVERSİTESİ
Nesneye Dayalı Programlama 1
Evren-Örneklem, Örnekleme Yöntemleri 2
NİŞANTAŞI ÜNİVERSİTESİ
ÖLÇME-DEĞERLENDİRME 1.DERS
Bilgisayar Bilimi Koşullu Durumlar.
Bilgisayar II 8 Mart Mart
NİŞANTAŞI ÜNİVERSİTESİ
Fonksiyonlar ve Alt Programlar
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İ
Evren-Örneklem, Örnekleme Yöntemleri 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
Bilimsel Araştırma Yöntemleri
NİŞANTAŞI ÜNİVERSİTESİ
KİMYA DERSİNİ SEVMENİN YOLU
Sunum transkripti:

Nesneye Dayalı Kavramlar Uygulama 1 21.10.2017 DB11 17:00 – 18:30

Duyurular için takip et…

ytuce.maliayas.com

Araba, ayakkabı, hayvan, meyve… Kavramlar Sınıf: Aynı türden nesnelerin oluşturduğu bir kümedir. Araba, ayakkabı, hayvan, meyve…

Reno, BMW, Audi…Bot,çizme, sandalet…Elma, armut, kiraz… Nesne: Bir varlığına denk gelir. Reno, BMW, Audi…Bot,çizme, sandalet…Elma, armut, kiraz… new anahtar sözcüğü ile nesne oluşturulur.

markası, tipi, numarası, rengi Her nesne farklı bir bireydir. Üye Alanlar: Nesnelerin özellikleri markası, tipi, numarası, rengi

Önemli notlar, İSİMLENDİRME STANDARTLARI Kullanılan isimlerin, fonksiyon veya sınıfı tanımlar nitelikte olması. Proje isimleri genellikle Büyük harfle başlar. İsimlendirmeler rakamlarla başlanmamalı.

Sınıflar paket (package) adı verilen mantıksal kümelere ayrılabilir. Amaç: Kendi içerisinde anlam bütünlüğü olan ve belli bir amaca yönelik olarak birlikte kullanılabilecek sınıfları bir araya toplamaktır. Paket isimleri genelde küçük harfle başlatılır.

Nesne, sınıf ve özellik isimlerini Türkçe vermemek bizim için iyi olacaktır. Sınıf isimleri BÜYÜK harfle başlaması tercih edilir (Okunabilirlik,anlaşılabilirlik)

Metod isimleri küçük harfle başlaması tercih edilir ve emir kipi ile kullanılması tercih edilir. (Okunabilirlik, anlaşılabilirlik)

static ve final tanımlanmış değişkenler: Tamamı büyük harf ile yazılır. Sabit isimleri tamamen büyük harflerle yazılır ve kelimeler bir birlerinden alt çizgilerle ayrılırlar.

CamelCase Snake_Case Anahtar sözcükler, değişkenlere verilmemeli!!

Görünebilirlik Kuralları Public: Bu tip üyelere erişimde hiç bir kısıtlama yoktur. Private: Bu tip üyelere başka sınıflardan nesneler erişemez. Yalnızca kendi sınıfı içerisinden erişim sağlanır. Protected: Kalıtım ile ilgili (paketteki diğer sınıflara ve alt sınıflarına açıktır) (derste sorumlu değilsiniz) Örneklere bak…(Ayakkabi.java)

Encapsulation(Kapsülleme): Bilgi saklama ya da koruma olarak da bilinen kapsülleme, nesnenin yaptığı işler ve durumuyla ilgili bilgilerin ve işlevsel karmaşıklığının gizlenmesi anlamına gelir. Tanımından da anlaşılacağı üzere iki temel amacı vardır: bilgi saklama ve karmaşıklığı gizleme. Hoca üye alanların private olmasını ister her zaman. Sınavda dikkat!!! (Üye alanlara başka sınıflardan direk ulaşılmasını engellemek, ulaşımı metodlara bırakmak.)

«this» anahtar sözcüğü sınıf değişkenini kastediyorum demek için kullanılabilir.

ÜYELERE ERİŞİM Üye alana erişim: --Üyenin değerini değiştirmek (setting) --Üyenin değerini okumak (getting)

POJO (Plain Old Java Object) Türkçe karşılığı “Sade Eski Java Objesi” POJO, bir Java sınıfının bir başka sınıf ile extends, implements gibi bağlantılarının yapılmamış, constructor oluşturulmamış ve belirtimler kullanılmamış halidir. Yani sadece üye değişkenler ve setter-getter metodlarının bulunması. Örnek bak…(Pojoclass.java)

ataNumara(int numara) Üye Metodlar: Bir nesnenin yapabileceklerini, o nesnenin metotları belirler . yazNumara() ataNumara(int numara) Metotlar parametreli ya da parametresiz olarak oluşturulabilirler. Parametresiz bir metot, sadece ismi çağırılarak kullanılır. Parametreli bir metodu çağırırken, metodun beklediği parametreler uygun şekilde yollanmalı

Overloading (Aşırı yükleme) Metotlar aşırı yüklenerek aynı isimli methodlardan birden fazla tanımlanabilir. 3 türlü vardır: Farklı sayıda parametre alma durumu Farklı tipte parametre alma durumu Farklı sırada parametre alma durumu Geri dönüş türü farklı olsa da, aynı ad ve argüman listesine sahip birden fazla yöntem bir sınıfta verilemez. Aşırı yüklenme durumunda yöntem dönüş türü önemli değil. Yanlış kullanım: int topla(int,int) float topla(int,int) Örneklere bak…(Toplama.java)

KURUCULAR (Constructor) Kurucu Metot kuralları: Public görünürlüğe sahip olmalıdır. Kurucu metodun adı, sınıfın adı ile aynı olmalıdır. Metot imzasında bir geri dönüş tipi belirtilmez, Metot gövdesinde bir sonuç geri döndürme (return) komutu bulunmaz. Final üyelere değer atamak için uygun bir yerdir. •Alternatif: Final üyeye tanımlandığı yerde değer atanması

Bir nesne oluşturulacağı zaman ise, kurucu metot new anahtar kelimesi ile birlikte kullanılır. Bir nesne oluşturulacağı zaman sınıfın kurucusu adı verilen metodu çalıştırılır. Meyve elma=new Meyve(); // default constructor ile nesne oluşturma Nesnenin üyelerine ilk değerlerinin atanmasına yarar. Sekil sekil1=new Sekil( 5, 9); Sekil sekil2; sekil2=new Sekil(6,10);

NOT: Hiç constructor tanımlanmadı ise default constructor çağrılır. Herhangi bir constructor tanımlanmaş ise default contsructor işlem dışı kalır. Yani, artık nesneyi default constructor ile oluşturamazsın. Bunun çözümü: Açık bir şekilde sınıfta default constructor yazmak. Örnek bak…(KurucuDeneme.java)

Kullanıcıdan Girdi Alma Kullanıcıdan girdi alma: Scanner sınıfı ile sağlanır. Scanner klavye=new Scanner(System.in) Scanner sınıfının metodları: String nextLine() int nextInt() float nextFloat() …. Örnek bak…(GirdiAlma1.java)

UML Gösterimi

NESNELER ARASINDAKİ İLİŞKİLER •Bir nesneye yönelik programın, nesneler arasındaki mesaj akışları şeklinde yürüdüğünü gördük. •Bir nesnenin diğerine bir mesaj gönderebilmesi (yani kullanabilmesi) için, bu iki nesne arasında bir ilişki olmalıdır. İlişki çeşitleri: Sahiplik (Association) Kullanma (Dependency) Toplama (Aggregation) Meydana Gelme (Composition) Kalıtım/Miras Alma (Inheritance) Kural koyma (Associative)

Sahiplik(Association) İlişkisi A sınıfının içinde B sınıfı tanımlanmış. B sınıfının public üyelerine ulaşılabilir.

Kullanma (Dependency) İlişkisi Bir diğerine giden bir mesajın parametresi ise veya bir nesne diğerini sahiplik olmadan kullanıyorsa. Üniversite, Bölüm’ü kullanır.

SEQUENCE(Sıralama) DİYAGRAMI nesneler arasındaki etkileşimleri tek bir kullanım durumunda modeller.   Bir sistemin farklı parçalarının, bir işlevi yerine getirmek için birbirleriyle nasıl etkileşimde bulunduklarını ve belirli bir kullanım durumu gerçekleştirildiğinde etkileşimlerin oluşma sırasını gösterirler.

Lab ve Uygulamalar Hk. Katılım zorunlu. 4 Uygulama ( Başlangıç 17:00) 4 Lab (3 Grup olacak. A,B, C) (Her hafta dönüşümlü laba girilecek.) Lab Saatleri: 16:30 – 18:00 18:00 – 19:30 19:30 – 21:00 Sabitleme durumları için: Özel durumlar(geçerli bir sebep) varsa gerçekleşecektir(Durumu kanıtlayan belge talep edilecek!!). Lütfen mail atın.

Akılda kalanlarla cevaplayın. Sınıf Nesne Metod üye alan Kurucu(constructor) kodları yaz. This, overloading ve encapsulation açıkla. Kullanıcıdan girdi almak için kullanılan sınıfın ismi?

Sabrınız için teşekkürler 