CodeGym /Blog Jawa /Acak /Metode Abstrak Jawa lan Kelas
John Squirrels
tingkat
San Francisco

Metode Abstrak Jawa lan Kelas

Diterbitake ing grup
Cara abstrak minangka alat sing kuat ing Jawa lan menehi basa sing orientasi obyek iki luwih kapabilitas nalika nerangake polimorfisme. Cara abstrak Jawa bisa digunakake kanggo nggawe kerangka dhasar kanggo kabeh program lan ngidini sampeyan nyetel yen perlu.Metode Abstrak Jawa lan Sampeyan - 1

Apa Metode Abstrak?

Metode abstrak yaiku metode sing ora ana implementasine. Yaiku, mung duwe deklarasi, supaya sampeyan ngerti jeneng, jinis bali, lan variabel sing bakal ditampa. Punika conto metode abstrak dhasar:

public abstract int example(int a1, int a2);
Yen sampeyan ndeleng metode iki, sampeyan bisa ngerteni manawa ngasilake integer lan nampa rong wilangan minangka argumen. Apa sampeyan ora bisa ngomong carane cara iki dileksanakake. Sing amarga kanggo ngleksanakake iku, sampeyan kudu override iku. Nalika nggawe cara abstrak ing Jawa, sampeyan kudu netepi sawetara pedoman utawa program sampeyan ora bakal dikompilasi kanthi bener. Elingi:
  • Metode abstrak Jawa ora ana implementasine. Tegese, dheweke ora kudu ngetutake kurungan kriting lan awak sing ngandhani carane cara kasebut digunakake. Mung dipungkasi nganggo titik koma.

  • Yen sampeyan nggawe metode abstrak, mung bisa dilebokake ing kelas abstrak. Yaiku, sampeyan ora bisa duwe kelas konkrit sing duwe metode abstrak ing njero.
    i. Minangka cathetan sisih, yen sampeyan duwe kelas abstrak, bisa ngemot konstruktor. Nanging ora kudu duwe metode abstrak.

  • Nalika kelas konkrit ngluwihi kelas abstrak, uga kudu ngetrapake kabeh metode abstrak saka kelas induk utawa ora bisa konkrit lan kudu diumumake abstrak.

Loro sing pungkasan iki bisa uga rada mbingungake, mula ayo langsung jelas.

Ekstensi Kelas Jawa Abstrak

Ayo ngomong yen kita pengin nulis program babagan wangun dhasar sing bakal ngasilake keliling lan area. Supaya kita nggawe kelas abstrak induk. Nanging amarga saben wangun duwe aturan dhewe, saben kudu diitung kanthi beda, mula kita nulis kelas Bentuk abstrak kaya iki:

abstract class Shape {
  		String shapeName = " ";
  		Shape(String name) { 
    			this.shapeName = name; 
  		} 

abstract double area();
  		abstract double perimeter();
}
Saiki, yen kita pengin nggunakake cara abstrak iki, kita kudu ngluwihi Abstrak kelas induk Java Shape banjur instantiate metode. Dadi saben kelas konkrit kudu ngetrapake metode abstrak area lan perimeter.

class Quadrilateral extends Shape  
{ 
    double length, width; 
      
    Quadrilateral(double l, double w, String name) 
    { 
        super(name); 
        this.length = l; 
        this.width = w; 
    } 
      
    @Override
    public double perimeter()  
    { 
        return ((2*length)+(2*width));
    } 
      
    @Override
    public double area()  
    { 
        return (length*width); 
    } 
}

Implementing the Quadrilateral class would then look like this
class Main
{ 
    public static void main (String[] args)  
    { 
      
        // creating a Quadrilateral object using Shape as reference 
        Shape rectangle = new Quadrilateral(3,4, "Rectangle"); 
        System.out.println("Area of rectangle is " + rectangle.area()); 
        System.out.println("Perimeter of rectangle is " + rectangle.perimeter());
  
    } 
} 
Output saka console banjur katon kaya iki:

Area of rectangle is 12.0
Perimeter of rectangle is 14.0
Elinga yen kelas Quadrilateral ora kudu instantiate Shape(String name) konstruktor saka kelas induk Shape . Iki amarga dudu metode abstrak. Nanging, yen sampeyan mung ngetrapake area utawa keliling ing kelas, kelas anyar kudu abstrak amarga ora kalebu loro. Sampeyan uga bisa nggunakake cara abstrak ing Antarmuka.

Metode Jawa Abstrak kanthi Antarmuka

Ayo cepet maneh apa antarmuka lan kepiye bedane karo kelas abstrak. Ing antarmuka, sembarang variabel sing diumumake ing antarmuka umum, statis, lan final. Kelas abstrak ing tangan liyane, mung duwe variabel non-final. Kabeh ing antarmuka umum minangka standar. Kelas abstrak bisa duwe pribadi, dilindhungi, umum, etc. Akhire, kelas ora ngluwihi antarmuka, iku ngleksanakake. Sadurunge JDK 8, antarmuka ora bisa duwe apa-apa nanging cara abstrak. Saiki, antarmuka bisa duwe cara standar lan statis. Amarga iki, praktik paling apik wis ora nggunakake metode abstrak minangka template sing bisa diperpanjang lan fokus ing Antarmuka lan ngetrapake. Dadi yen sampeyan nggawe Shape minangka Antarmuka banjur dileksanakake minangka Quadrilateral, bakal katon kaya apa? Pisanan, sampeyan kudu ngilangi konstruktor Shape (String name) . Iku bakal katon kaya iki mung karo rong cara abstrak:

interface Shape {

  abstract double area();
  abstract double perimeter();
}


So the Quadrilateral class would then look like this:
class Quadrilateral implements Shape {  

  double length, width; 
      
    	  Quadrilateral(double l, double w) {
    
    	    this.length = l; 
    	    this.width = w; 
    	  } 
      
    	  @Override
    	  public double perimeter() {
     
    	    return ((2*length)+(2*width));
    	  } 
      
    	  @Override
    	  public double area() {
    
   	    return (length*width); 
    	  } 
}
Pungkasan, nggunakake Quadrilateral anyar amarga ngetrapake antarmuka Shape bakal padha:

class Main
{ 
    public static void main (String[] args)  
    { 
      
        // creating a Quadrilateral object using Shape as reference 
        Shape rectangle = new Quadrilateral(3,4); 
        System.out.println("Area of rectangle is " + rectangle.area()); 
        System.out.println("Perimeter of rectangle is " + rectangle.perimeter());
  
    } 
}
Lan print out console bakal katon kaya iki:

Area of rectangle is 12.0
Perimeter of rectangle is 14.0
Yen sampeyan pengin njelajah luwih akeh babagan beda antarane antarmuka lan kelas abstrak, sampeyan bisa nemokake informasi luwih lengkap ing kene.

Nanging Napa Gunakake Metode Jawa Abstrak?

Ana akeh alasan kenapa metode abstrak ing Jawa digunakake lan apa sampeyan kudu kepenak nggunakake. Mangkene telung alasan cepet kenapa sampeyan kudu nggunakake nalika cocog.
  1. Aja duplikasi upaya - Deleng maneh conto coding; bayangake yen sampeyan lan tim sampeyan kudu nggawe kelas kanggo wangun liyane saka persegi dowo. Pira macem-macem cara sing bisa sampeyan lakoni kanggo ngrancang kelas kasebut? sepuluh? limalas? Lan iku masalah prasaja. Mbayangno soko sing luwih rumit. Sampeyan lan tim sampeyan bisa nggawe atusan cara. Banjur sampeyan bakal ngadhepi tugas sing nggegirisi kanggo nggabungake dadi program sing koheren. Iki nggawa kita menyang titik sabanjure: nemtokake implementasine.

  2. Metode Abstrak ing Jawa ngidini definisi panggunaan lan implementasine - Nalika sampeyan nggunakake kelas utawa antarmuka abstrak, lan kanthi desain, metode abstrak, sampeyan nemtokake cara wong liya bakal sesambungan karo antarmuka sampeyan. Sing ngidini dheweke ngerti variabel apa sing kudu digunakake lan jinis bali sing bisa dikarepake.
    Nalika padha bisa override lan nggawe kelas konkrit sing ngleksanakake antarmuka ing cara unik, sampeyan isih nyetel ing watu nggunakake inti kanggo kode. Yen ana wong sing pengin ngleksanakake Shape, mula kudu ngilangi utawa ngleksanakake perimeter lan area.

  3. Keterbaca lan Debugging - Nduwe metode abstrak bakal ningkatake keterbacaan kode sampeyan. Nalika sampeyan nulis kelas sing ngleksanakake antarmuka, sampeyan ngerti apa goleki. Sampeyan ngerti sing saben cara abstrak ing antarmuka bakal ing implementasine, lan iku nggampangake kanggo maca lan trek mudhun sembarang kewan omo. Cara abstrak mung minangka wiwitan sinau babagan nggunakake polimorfisme kanthi bener ing basa Jawa lan basa-basa liyane. Nalika sampeyan wiwit ngerti lan nggunakake, bab anyar saka lelampahan coding bakal diwiwiti.

Komentar
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION