Giter VIP home page Giter VIP logo

fsweb-s14d1-java-projesi's Introduction

Java Inheritance

Proje Kurulumu

Projeyi önce forklayın daha sonra klonlayın ve Intellij kullanarak projeyi açın. Proje sayımız ilerledikçe proje yönetimimizi kolaylaştırmak adına projelerimizi belli klasör kalıplarında saklamak işimizi kolaylaştırmak adına iyi bir alışkanlıktır. Örnek bir Lokasyon: Workintech/Sprint_1/Etud.

Hedeflerimiz:

Silindir

  • com.workintech.inheritance.mathModel.Circle isimli bir sınıf yazınız. radius isimli bir tane sınıf değişkenine sahip olmalı. radius değişkeninin tipi ne olmalı ?

  • Sınıfın bir tane constructor metodu olmalı ve içerisinde radius değişkeninin değerini değiştirebilmeli. Radius bir şekilde 0'dan küçük belirtilirse radius 0'a eşitlenmeli.

  • com.workintech.inheritance.mathModel.Circle sınıfının getRadius isimli bir metodu olmalı ve radius değerinin dönmeli.

  • com.workintech.inheritance.mathModel.Circle sınıfının getArea isimli bir metodu olmalı ve radius * radius * Math.PI değerini dönmeli.

  • com.workintech.inheritance.mathModel.Cylinder isminde bir sınıf yazınız. com.workintech.inheritance.mathModel.Circle sınıfı ile arasında kalıtım ilişkisi kurmalısınız.

  • com.workintech.inheritance.mathModel.Cylinder sınıfının bir tane sınıf değişkeni olmalı ve adı height olmalı. height değişkeninin tipi ne olmalı ?

  • com.workintech.inheritance.mathModel.Cylinder sınıfının bir tane constructor methodu olmalı ve 2 parametre almalı. height parametresi 0'dan küçükse, height 0'a eşitlenmeli.

  • com.workintech.inheritance.mathModel.Cylinder sınıfının getHeight isimli bir metodu olmalı ve height değerini return etmeli.

  • com.workintech.inheritance.mathModel.Cylinder sınıfının getVolume isimli bir metodu olmalı hacmi hesaplamalı. Hacmi hesaplamak için getArea ile height değişkenini çarpmalı.

Havuzun Alanını Hesaplama

Workintech yüzme ekibinin sana ihtiyacı var.

  • Rectangle isimli bir sınıf yazınız. Sınıf'ın iki tane sınıf değişkeni olmalı. width ve length İki değişkeninde tipini ne seçmeliyiz?

  • width değişkeni de height değişkenide 0 dan küçük set edilirse direkt olarak 0'a set edilmeliler.

  • Rectangle sınıfının 3 methodu olmalı getWidth width alanını dönmeli.

  • getLength methodu length fieldini dönmeli

  • getArea methodu (width*length) i dönmeli.

  • Cuboid isimli bir sınıf daha yazmalısınız. Cuboid sınıfı ile Rectangle sınıfı arasında bir ilişki olmalı.

  • Cuboid sınıfının tek bir sınıf değişkeni var ve adı height. Tipini belirlemek senin görevin. height 0'dan küçükse direkt 0 atanmalı.

  • Cuboid sınıfının tek bir constructor methodu olmalı ve 3 parametre almalı. width, length ve height.

  • Cuboid sınıfının iki tane methodu olmalı. getHeight height değerini dönmeli. getVolume volume değerinin hesaplamalı ve dönmeli. Volume alan ile yükseklik değerinin çarpımıdır.

Developer Company

  • Employee isimli bir sınıf oluşturunuz. İçerisinde id, name, salary sınıf değişkenleri olmalı.
  • Employee sınıfının bir adet constructor ve her değişkeni için getter & setter metodları olmalı.
  • Employee sınıfının içerisinde bir adet work isimli bir metod olmalı ve Employee starts to working gibi bir mesaj basmalı.
  • Employee sınıfı ile parent child ilişkisi olan 4 sınıf daha yazmalısınız. HRManager, JuniorDeveloper, MidDeveloper, SeniorDeveloper
  • Tüm sınıflarda work metodu Override edilmeli. Her bir sınıf için o sınıfa özgü bir mesaj basılmalı ve çalışanın maaşı güncellenmeli.
  • HRManager sınıfında 3 adet instance variable tanımlanmalı. JuniorDeveloper, MidDeveloper, SeniorDeveloper lar için birer array.
  • HRManager addEmployee isimli bir metoda sahip olmalı. Bu metod için gerekli Overload edilmiş hallerini tanımlamalısınız.
  • Bu metodun amacı JuniorDeveloper gelirse ilgili developeri juniorDevelopers dizisine eklemeli.
  • MidDeveloper gelirse ilgili developeri midDevelopers dizisine eklemeli.
  • SeniorDeveloper gelirse ilgili developeri seniorDevelopers dizisine eklemeli.
  • Bu eklemeler yapılırken ilgili dizide index alanı dolu mu diye bakılmalı. Doluysa içerdeki veri ezilmemeli. Bir uyarı verilmeli. Aynı zamanda indexin hiç var olmadığı durum da göz önünde bulundurulmalı.

Uygulamayı Test Etmek

Uygulamada com.workintech.inheritance.main metodu içerisinde INPUT kısmındaki kod blokları çağırıldığında, OUTPUT kısmındaki gibi bir çıktı alınmalı.

Silindir için

INPUT

com.workintech.inheritance.mathModel.Circle circle = new com.workintech.inheritance.mathModel.Circle(3.75);

System.out.println("circle.radius= " + circle.getRadius());

System.out.println("circle.area= " + circle.getArea());

com.workintech.inheritance.mathModel.Cylinder cylinder = new com.workintech.inheritance.mathModel.Cylinder(5.55, 7.25);

System.out.println("cylinder.radius= " + cylinder.getRadius());

System.out.println("cylinder.height= " + cylinder.getHeight());

System.out.println("cylinder.area= " + cylinder.getArea());

System.out.println("cylinder.volume= " + cylinder.getVolume());

OUTPUT

circle.radius= 3.75

circle.area= 44.178646691106465

cylinder.radius= 5.55

cylinder.height= 7.25

cylinder.area= 96.76890771219959

cylinder.volume= 701.574580913447

Havuzun Alanı için

INPUT

Rectangle rectangle = new Rectangle(5, 10);

System.out.println("rectangle.width= " + rectangle.getWidth());

System.out.println("rectangle.length= " + rectangle.getLength());

System.out.println("rectangle.area= " + rectangle.getArea());

Cuboid cuboid = new Cuboid(5,10,5);

System.out.println("cuboid.width= " + cuboid.getWidth());

System.out.println("cuboid.length= " + cuboid.getLength());

System.out.println("cuboid.area= " + cuboid.getArea());

System.out.println("cuboid.height= " + cuboid.getHeight());

System.out.println("cuboid.volume= " + cuboid.getVolume());

OUTPUT

rectangle.width= 5.0

rectangle.length= 10.0

rectangle.area= 50.0

cuboid.width= 5.0

cuboid.length= 10.0

cuboid.area= 50.0

cuboid.height= 5.0

cuboid.volume= 250.0

fsweb-s14d1-java-projesi's People

Contributors

dogancan94 avatar okdemilgin avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.