If it is not explicitly told in following recipe, setting up services are described for Ubuntu 20.04 server, but applications are described for Xubuntu 20.04 workstation. If you use different Ubuntu version or Linux distribution, settings as well as content, names and places of configuration files may be different!
Got it.

5. Mantošana un iekapsulēšana

  1. Pārskatiet prezentāciju Mantošana un iekapsulēšana
  2. Izpētiet jtm.activity05 pakotni
  3. Izveidojiet klasi WaterRoadRoad apakšklasi.
    1. Izvēlieties File — New — Class un ievadiet:
    2. Name: WaterRoad
    3. Superclass: jtm.activity04.Road
    4. Izvēlieties Constructors from superclass, Inherited abstract methods un spiediet Finish
      Vai arī, ja neesat to izdarījis klases izveides vednī: izvēlieties Source — Generate Constructors from Superclass..., select both constructors Road() un Road(String,String,int) un OK.

    5. Izvēlieties Source — Override/Implement methods... un izvēlieties metodi toString().
    6. Aizvietojiet metodi .toString(), kas atgriež virkni šādā formā: WaterRoad From — To, 00km
  4. Izveidojiet klasi ShipTransport apakšklasi.
    1. Izveidojiet protected byte lauku buru skaits kuģim:
    2. Izveidojiet Ship(String id, byte sails) konstruktoru,
    3. Aizvietojiet move(Road), lai tā atgriež virkni formā:
      ID Ship is sailing on (Road as String) with x sails

      kur:

      • (Road as String) ir ceļa virknes attēlojums (bez iekavām),
      • x ir faktiskais buru skaits.

      Ņemiet vērā, ka degviela netiek izmantota, kad kuģis pārvietojas, jo tā vietā kuģošanai tiek izmantots vējš.

      atgrieziet  Cannot sail on (Road as String), ja tas nav WaterRoad.

  5. Izveidojiet klasi VehicleTransport apakšklasi.
    1. Izveidojiet protected int riteņu skaits lauku.
    2. Implementējiet Vehicle(String id, float consumption, int tankSize, int wheels) konstruktoru,
    3. Aizvietojiet metodi move(Road)) transportlīdzeklim, kas atgriež virkni šādā formā:
      ID Vehicle is driving on (Road as String) with x wheels

      kur:

      • (Road as String) ir ceļa virknes attēlojums,
      • x ir faktiskais riteņu skaits.

      atgrieziet Cannot drive on (Road as String), ja tas nav Road.

  6. Implementējiet Amphibia klasi tā, lai tā būtu Transport apakšklase:
    1. Padariet visus Amphibia iekšējos laukus privātus.
    2. Izveidojiet konstruktoru Amphibia(String id, float consumption, int tankSize, byte sails, int wheels)
    3. Aizvietojiet move(Road road) metodi, ka Amhibija uzvedas kā Vehicle uz zemes ceļa un Ship uz ūdens ceļa.

lightbulb Padomi

  1. Izmantojiet .getClass().getSimpleName(), lai iegūtu objekta veido un atkārtoti izmantotu Road.toString() metodi
  2. Izmantojiet super();, lai atsauktos uz metodes vai konstruktora vecāka klases implementāciju.
  3. Izmantojiet if(road instanceof WaterRoad), lai pārbaudītu, vai objekts ir WaterRoad (apakš)veids
  4. Izmantojiet if(road.getClass() == Road.class), lai pārbaudītu, vai objekts ir precīzs Road veids.

  

Created by Valdis Vītoliņš on 2024-02-29 18:59
Last modified by Valdis Vītoliņš on 2024-03-06 20:51
 
Xwiki Powered
Creative Commons Attribution 3.0 Unported License