Bire-bir Sahiplik İlişkisi ile İlgili Sorular:

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.*/

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.

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

BİL-141 Bilgisayar Programlama I (Java)

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

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

Yığıtın en üstündeki öğeyi değer olarak alır; ama onu yığıttan almaz, yerinde bırakır.

Bölüm 6. Karma. Olcay Taner Yıldız. O. T. Yıldız, C && Java ile Veri Yapılarına Giriş, Boğaziçi Üniversitesi Yayınevi, / 31

Interface Comparator. Kılgılayan sınıf: Collator. Bildirimi: public interface Comparator

Bir c sınıfının doğal sıralaması ile tutarlı olması (be consistent with equals) demek, c sınıfı içindeki her e1 ve e2 nesnesi için

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;

JAVA PROGRAMLAMA DİLİ ÖZELLİKLERİ

Bölüm 8. Ayrık Küme. Olcay Taner Yıldız. O. T. Yıldız, C && Java ile Veri Yapılarına Giriş, Boğaziçi Üniversitesi Yayınevi, / 16

KUYRUKLAR QUEUES. Doç. Dr. Aybars UĞUR

Class PriorityQueue. Class PriorityQueue<E> java.lang.object java.util.abstractcollection<e> java.util.abstractqueue<e> java.util.

D İ Z İ L E R A R R A Y S

Nesne Yönelimli Programlama

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

BIL1202 ALGORİTMA VE PROGRAMLAMAYA GİRİŞ

Soru 1: Fahrenheit cinsinden verilen sıcaklığı Kelvin'e çeviren bir program yazınız. Aşağıdaki dönüşüm formülünü kullanabilirsiniz:

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

BİL132 Bilgisayar Programlama II

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.

Karşılaştırma İşlemleri ve Koşullu İfadeler

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

Merge (Bireşim) Algoritmayı önce bir örnek üzerinde açıklayalım.

Klavyeden Basit Giriş/Çıkış İşlemleri

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

BMÜ-101 ALGORİTMA VE PROGRAMLAMAYA GİRİŞ LABORATUARI

Haz: Yrd.Doç.Dr. Yunus Emre Selçuk

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

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

Yigin & Kuyruk {\} /\ Suhap SAHIN Onur GÖK

Java ile Tasarım Prensipleri ve Tasarım Örüntüleri

İşletim Sistemleri. Dr. Binnur Kurt Omega Eğitim ve Danışmanlık İşletim Sistemleri

Ders - 7 while döngüsü

Programlama Dillerinde Kullanılan Veri Tipleri

Kılgıladığı arayüzler: Serializable, Cloneable, Map<K,V>, NavigableMap<K,V>, SortedMap<K,V>

BIL101 07/11/2012 Lab5 Programlama Sorulari

Kodlanacak programlama dilinin kaynaklarından faydalanılarak kod yazımı yapılır.

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

Intercepting Filter Tasarım Şablonu KurumsalJava.com

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

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

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

Facade (Cephe) Tasarım Şablonu KurumsalJava.com

7. HAFTA. Erişim Belirleyiciler

Kodlanacak programlama dilinin kaynaklarından faydalanılarak kod yazımı yapılır.

KUYRUKLAR. Doç. Dr. Aybars UĞUR

public class SalesLineItem // Java { private int quantity; private ProductSpecification description; public Money getsubtotal() {...

RSA ANAHTAR DAĞITIMI VE RSA İLE DİJİTAL İMZA OLUŞTURMA

Burak Kıymaz JAVA FX

Chain of Responsibility Tasarım Şablonu KurumsalJava.com

İNÖNÜ ÜNİVERSİTESİ MÜHENDİSLİK FAKÜLTESİ BİLGİSAYAR MÜHENDİSLİĞİ BÖLÜMÜ 2. SINIF 1. DÖNEM VERİ YAPILARI DERSİ LABORATUAR ÖDEVİ

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

Haz: Yrd.Doç.Dr. Yunus Emre Selçuk

Decorator Tasarım Şablonu

JAVADA DİZİ İŞLEMLERİ

Görsel Programlama. Temel Veri Tipleri, Değişkenler, Operatörler, Akış Kontrolü, Sınıflar, Metotlar, Paketler ve JavaDoc

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

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

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

Temel Veri Türü İşlemleri

İlgili Konular: Object.equals(java.lang.Object), Object.hashCode(), rehash(), Collection, Map, HashMap, TreeMap, Serialized Form

BİL-141 Bilgisayar Programlama I (Java)

EMT2226 Nesne Yönelimli Programlamaya Giriş

Spring Framework Eğitimi

Bölüm 5. Ağaç. Olcay Taner Yıldız. O. T. Yıldız, C && Java ile Veri Yapılarına Giriş, Boğaziçi Üniversitesi Yayınevi, / 73

BİL-141 Bilgisayar Programlama I (Java)

Business Delegate Tasarım Şablonu KurumsalJava.com

Proje 1. Arayüz Tasarımı

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

Sunum İçeriği. Programlamaya Giriş

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

YMT219 VERİ YAPILARI ÖDEV-1

MAT214 BİLGİSAYAR PROGRAMLAMA II DERSİ Ders 12: Grafik Kullanıcı Arayüzü (Graphical User Interface-GUI)

Final Sınavı Örnek Soruları Bahar 2018

ATATÜRK ÜNİVERSİTESİ BİLGİSAYAR MÜHENDİSLİĞİ BÖLÜMÜ BIM 205 GÖRSEL PROGRAMLAMA GÜZ DÖNEMİ ÖDEV-1

DÖNGÜLER BMÜ-111 ALGORİTMA VE PROGRAMLAMA-I YRD. DOÇ. DR. İLHAN AYDIN

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

Sınav Dağılım & IMKB Endeks

İST 264 VERİ YAPILARI Bitirme Sınavı A Grubu

while(), do-while(), for() M.İLKUÇAR 2010 MAKU-MYO

Progress Barlı, FTP Dosya Upload Appleti

BİL-141 Bilgisayar Programlama I (Java)

Đlgili konular: Collection, Set, HashSet, Comparable, Comparator, TreeMap, Collections.synchronizedSortedSet(SortedSet), Serialized Form

Arayüz (Interface) Altuğ B. Altıntaş 2003 Java ve Yazılım Tasarımı - Bölüm 7 1

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

// hataları işaret eden referans

Güz Yarıyılı Balıkesir Üniversitesi Bilgisayar Mühendisliği Bölümü

Güz Yarıyılı Balıkesir Üniversitesi Bilgisayar Mühendisliği Bölümü

J A V A D A P R O G R A M D E N E T İ M İ V E O P E R A T Ö R L E R

MOBİL UYGULAMA GELİŞTİRME

Scanner Sınıfı. Class Scanner. java.util. java.lang.object java.util.scanner. Kılgıladığı Arayüzler: Closeable, AutoCloseable, Iterator<String>

Arasınav Örnek Soruları Bahar 2018

Programın Akışının Denetimi. Bir arada yürütülmesi istenen deyimleri içeren bir yapıdır. Söz dizimi şöyledir:

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

Java da, tüm değişkenlerin kullanılmadan önce tanımlanması edilmesi gerekir. Bir değişken tanımlamanın temel gösterimi bu şekildedir:

Merge Sort Bireşen Sıralama

Transkript:

Bire-bir Sahiplik İlişkisi ile İlgili Sorular: Soru 1: Bir füzenin kilometre cinsinden menzili ve kilogram cinsinden ağırlığı mevcuttur. Bir füze ya kara hedefleri ya da hava hedefler için tasarlanır. Füzelerin bu özellikleri daha sonradan değiştirilemez. Füze sınıfının (Missile) Java kodunu yazınız. Soru 2: Her uçağın bir boş ağırlığı ve bir maksimum kalkış ağırlığı vardır. Haddinden fazla yüklenen uçak uçamaz. Bir uçak ancak uçarken füze ateşleyebilir. Üzerinde pilot olmayan uçaklara UAV denir. Bazı UAV ler füze taşıyamaz, taşıyabilenler ise tek türden ve sınırlı sayıda füze taşır. Verilen tüm bu bilgilere göre UAV sınıfının kaynak kodunu yazınız. Soru 3: Önceki sorularda yazdığınız sınıfları test etmek üzere main metodu içeren bir sınıfın kaynak kodunu yazınız. Main metodunda kullanıcıdan en azından bir tamsayı bilgi girişi almaya çalışınız. Her sınıftan bir nesne oluşturup bir füze ateşlemek yeterlidir. Soru 4: Soru 5: Şimdiye kadar kodladığınız sınıfları gösteren ayrıntılı bir UML şeması çiziniz. Füze ateşlemeye yarayan metodun UML sıralama şemasını çiziniz.

Yanıtlar (kısmi, farklı çözümler de bulunabilir): Question 1: public class Missile { private final int range, weight; private final boolean forairtargets; public Missile(int range, int weight, boolean forairtargets) { this.range = range; this.weight = weight; this.forairtargets = forairtargets; public int getrange() { return range; public int getweight() { return weight; public boolean isforairtargets() { return forairtargets; Question 2: public class UAV { private int emptyweight, maxweight; private Missile missile; private int missilecount, maxmissile; private boolean flying; public UAV(int emptyweight, int maxweight) { this.emptyweight = emptyweight; this.maxweight = maxweight; public int getemptyweight() { return emptyweight; public int getmaxweight() { return maxweight; public boolean isflying() { return flying; public void setflying(boolean flying) { this.flying = flying; public void setmissile(missile missile, int maxmissile) { this.missile = missile; this.maxmissile = maxmissile; missilecount = 0; public int getcurrentweight( ) { int result = emptyweight; if( missile!= null ) result += missilecount * missile.getweight(); return result; public boolean addmissile( int count ) { if( getcurrentweight() + count * missile.getweight() < maxweight && missilecount + count <= maxmissile ) { missilecount += count; return true; return false; public boolean firemissile( int range, boolean isairtarget ) { if( missile!= null && missilecount > 0 && missile.getrange() > range && isflying() && missile.isforairtargets() == isairtarget ) return true; return false;

Question 3: import java.util.*; public class Main { public static void main(string[] args) { Missile sidewinder = new Missile(1200, 100, true); UAV predator = new UAV(5000, 20000); Scanner in = new Scanner( System.in ); System.out.print("How many missiles? "); int count = in.nextint(); predator.setmissile(sidewinder, count); predator.addmissile(count); predator.setflying(true); if(predator.firemissile(100, true)) System.out.println("Test is successful"); else System.out.println("Test has failed"); in.close(); Question 4: Question 5:

SORULAR Sorular aşağıdaki UML sınıf şemasına göre yanıtlanmalıdır. Soru 1: Soru 2: Kedi sınıfının kaynak kodunu yazınız. Akvaryum sınıfının kaynak kodunu yazınız. Soru 3: Insan sınıfının kendinitanit metodunun kaynak kodunu yazınız. Bir insan kendini tanıtırken ismini söyler ve ardından evcil hayvanları ile ilgili bilgi verir. Soru 4: Soru 5: Soru 6: Insan sınıfının kendinitanit metodunun UML etkileşim şemasını çiziniz. Insan sınıfının UML sınıf şemasında gösterilmemiş eksik iki metodu vardır. Bu metotların neler olduğunu keşfediniz ve kaynak kodlarını yazınız. AnaProgram sınıfının main metodunun kaynak kodunu yazınız.

Soru 1: (20) Kedi sınıfının kaynak kodunu yazınız. public class Kedi { private String isim; Soru 2: public Kedi(String isim) { this.isim = isim; public String getisim() { return isim; public void setisim(string isim) { this.isim = isim; (20) Akvaryum sınıfının kaynak kodunu yazınız. public class Akvaryum { private int baliksayisi; public Akvaryum(int baliksayisi) { this.baliksayisi = baliksayisi; public void balikekle( ) { baliksayisi++; public void baliksil( int adet ) { if( adet <= baliksayisi ) { baliksayisi -= adet; else baliksayisi = 0; public int getbaliksayisi() { return baliksayisi; Soru 3: (20) Insan sınıfının kendinitanit metodunun kaynak kodunu yazınız. public String kendinitanit( ) { String tanitim = "Adım: " + isim; if( akvaryum!= null ) tanitim += ", Balık sayısı: " + akvaryum.getbaliksayisi(); if( kedi!= null ) tanitim += ", Kedimin adı: " + kedi.getisim( ); return tanitim;

Soru 4: (15) Insan sınıfının kendinitanit metodunun UML etkileşim şemasını çiziniz. Soru 5: (10) Insan sınıfının UML sınıf şemasında gösterilmemiş eksik iki metodu vardır. public void setakvaryum(akvaryum akvaryum) { this.akvaryum = akvaryum; public void setkedi(kedi kedi) { this.kedi = kedi; Soru 6: (15) AnaProgram sınıfının main metodunun kaynak kodunu yazınız. public static void main( String[] args ) { Insan yunus = new Insan("Yunus Emre Selçuk","01234567890"); Akvaryum ak = new Akvaryum(5); yunus.setakvaryum(ak); Kedi torpil = new Kedi("Torpil"); yunus.setkedi(torpil); System.out.println(yunus.kendiniTanit());

Daha Karmaşık İlişkiler ile İlgili Sorular: Sorular aşağıdaki UML sınıf şemasına göre yanıtlanmalıdır. Soru 1: Soru 2: Soru 3: Soru 4: Soru 5: İnsan sınıfının kaynak kodunu yazınız. ProtokolSahibi arayüzünün kaynak kodunu yazınız. Hasta sınıfının kaynak kodunu yazınız. EBS sınıfının kaynak kodunu yazınız. EBS sınıfına şu metotları ekleyiniz: receteara( String ) : Recete Hatta Soru 4'te denetle metodundan önce receteara kodlayın ve denetle metodunda receteara metodunu kullanın. Diğerleri henüz kararlaştırılmadı, ders sırasında doğaçlama yapılacak.

package ornekler1c.ebs; public abstract class Insan { private String ad, soyad; private long TCkimlik; public Insan(String ad, String soyad, long tckimlik) { this.ad = ad; this.soyad = soyad; TCkimlik = tckimlik; public String getad() { return ad; public String getsoyad() { return soyad; public long gettckimlik() { return TCkimlik; package ornekler1c.ebs; public interface ProtokolSahibi { public int getprotokolno(); package ornekler1c.ebs; public class Hasta extends Insan implements ProtokolSahibi { private int protokolno; public Hasta(String ad, String soyad, long TCkimlik, int protno) { super(ad, soyad, TCkimlik); protokolno = protno; public int getprotokolno() { return protokolno; package ornekler1c.ebs; public class EBS { private Recete onaylireceteler[]; private int recetesayisi, maxrecete; public EBS( ) { maxrecete = 100; onaylireceteler = new Recete[maxRecete]; private void dizigenislet() { Recete yenireceteler[] = new Recete[maxRecete*2]; for( int i=0; i<maxrecete; i++ ) yenireceteler[i] = onaylireceteler[i]; onaylireceteler = yenireceteler; maxrecete *= 2; public Recete receteara( String receteno ) { for( Recete recete : onaylireceteler ) if( recete.getreceteno().equalsignorecase(receteno) ) return recete; return null;

public boolean denetle( Recete recete ) { if( receteara( recete.getreceteno() ) == recete ) return true; return false; public void receteekle( Recete recete ) { if( recetesayisi == maxrecete ) dizigenislet(); if( denetle(recete) ) return; onaylireceteler[recetesayisi] = recete; recetesayisi++;