BLP 4210 PLATFORM BAĞIMSIZ PROGRAMLAMA Dr. Aslı Ergün 1
UML Unified Modeling Language(UML) sınıf diyagramları gösteren, Nesneye Tabanlı Programlamada kullanılan, görsel bir modelleme dilidir (programlama dili değildir). 11.07.2019
Class (Sınıf) Diyagramı Sınıflar ve sınıflar arasındaki ilişkileri gösteren diyagramlardır. 3 bölümlü (sınıf adı, özellikler, metodlar) dikdörtgen şeklinde gösterilirler. SınıfAdı Ucak -değişken1:tür 1 +değişken2=değer 2 -hiz:int +metod1() +metod2(parametre veri tipi) #metod3():geri dönüş tipi +hizYaz(int) #hizAl():int 11.07.2019
Sınıflar Arası İlişkiler -Association (bağıntı – birliktelik) ilişkisi 11.07.2019
Inheritance ve Generalization (Kalıtım ve Genelleme) ilişkisi Canlı İnsan Hayvan Bitki Kuşlar Balıklar Böcekler 11.07.2019
11.07.2019
Dependency (Bağımlılık) ilişkisi 11.07.2019
Realization (Gerçekleştirim) ilişkisi Kullanıcı ara yüzlerinin modellenmesinde kullanılır. Sadece metod adlarını ve bu metodların parametrelerini içerir. Gerçekleştirim ilişkisi, kesikli bir çizginin ucuna yerleştirilmiş içi boş bir üçgen ile gösterilir. 11.07.2019
11.07.2019
Plotter.java package examples.simple.client; import java.util.ArrayList; import java.util.List; import examples.simple.model.Circle; import examples.simple.model.Drawable; import examples.simple.model.Rectangle; import examples.simple.model.Shape; import examples.simple.model.Line; class Plotter { public static void main(String[] args) { List<Drawable> drawables = new ArrayList<Drawable>(); Shape s = new Circle(); drawables.add(s); s = new Rectangle(); Line l = new Line(); drawables.add(l); for (Drawable drawable : drawables) { drawable.draw(); } 11.07.2019
Shape.java package examples.simple.model; public abstract class Shape implements Drawable { private Point center; public Point getCenter() { return center; } public void setCenter(Point center) { this.center = center; 11.07.2019
Drawable.java package examples.simple.model; public interface Drawable { public void draw(); } 11.07.2019
Rectangle ve Circle Sınıfı Rectangle.java package examples.simple.model; public class Rectangle extends Shape { public void draw() { System.out.println("Drawing a rectangle...."); } Circle.java public class Circle extends Shape { System.out.println("Drawing a circle...."); 11.07.2019
Line.java package examples.simple.model; public class Line implements Drawable{ public void draw() { System.out.println("Drawing a line"); } 11.07.2019
UML Sınıf ve Değişkenleri Örneği Aşağıdaki UML diagramındaki sınıfları(class) ve değişkenleri tanımlayınız. Müşteri sınıfı hesap sınıfından extend edilecektir. Müşteri ve hesap sınıflarının constructorları olduğu varsayılacaktır. Banka sınıfının içindeki hesap bilgileri metodu parametre olarak müşteri ve hesap nesnelerini alacak ve ekrana müşteri ad, soyad, hesabın para cinsi (tl,dolar,euro vs.) ve miktarını yazacaktır. 11.07.2019
Class Hesap{ public int hesap_id; public String para_cinsi; public int niktar Hesap(){ //varsayılan constructor ....... } Class Musteri extends Hesap{ public int id; public String ad; public String soyad; Musteri(){ //varsayılan constructor }} 11.07.2019
Class Banka{ public String banka_ad; Hesap hesap; Musteri musteri; Banka(){ //bankanın constructorı hesap = new Hesap(); musteri = new Musteri(); } public void hesap_bilgileri(String banka_ad, Hesap hesap, Musteri musteri){ System.out.println("Banka : " + banka_ad); System.out.println("Musteri : " + musteri.ad +" "+musteri.soyad); System.out.println("Hesap : " + hesap.para_cinsi); System.out.println("Banka : " + hesap.miktar); 11.07.2019
UML Editor- Ornek 1 11.07.2019
Main(test)
Polygon.class
Ucgen.class
Dortgen.class
UML Editor- Ornek 2 11.07.2019
Test2.java
Calisan.class(interface) 11.07.2019
Programci.class 11.07.2019
Mudur.class 11.07.2019
Satis.class 11.07.2019
Sekreter.class 11.07.2019