Jelaskan Perbedaan Antara Properti Dan Aksesori

Jelaskan Perbedaan Antara Properti Dan Aksesori

Apa perbedaan antara bidang, variabel, atribut, dan properti di POJO Java?


Ketika merujuk ke variabel pribadi internal POJO Java yang memiliki getter / setter, saya telah menggunakan istilah berikut:

  • bidang
  • variabel
  • atribut
  • Properti

Apakah ada perbedaan di atas? Jika demikian, apa istilah yang tepat untuk digunakan? Apakah ada istilah yang berbeda untuk digunakan ketika entitas ini bertahan?

Jawaban:


Dari sini: http://docs.oracle.com/javase/tutorial/information/glossary.html


  • bidang

    • Anggota data kelas. Kecuali ditentukan sebaliknya, bidang tidak statis.

  • Properti

    • Karakteristik objek yang dapat diatur pengguna, seperti warna jendela.

  • atribut

    • Tidak tercantum dalam daftar istilah di atas

  • variabel

    • Detail data bernama oleh pengidentifikasi. Setiap variabel memiliki tipe, seperti int atau Object, dan cakupan. Lihat juga variabel kelas, variabel instan, variabel lokal.






Ya ada.

Variabel
bisa lokal, bidang, atau konstan (walaupun ini secara teknis salah). Itu atribut seperti samar. Anda juga harus tahu bahwa beberapa orang suka memanggil variabel
final
non-statis (lokal atau case)


Nilai
“. Ini mungkin berasal dari bahasa JVM FP yang baru muncul seperti Scala.

Field pada
umumnya adalah variabel pribadi pada kelas instan. Bukan berarti ada pengambil dan penyetel.

Atribut
adalah istilah yang tidak jelas. Dapat dengan mudah dikacaukan dengan XML atau Coffee Naming API. Cobalah untuk menghindari penggunaan istilah itu.

Properti
adalah kombinasi pengambil dan penyetel.

Beberapa contoh di bawah ini

              
                public
                
                
                grade
                
                
                Variables
                
                
                {
                
                
                //Constant
                
                
                public
                
                
                final
                
                
                static
                
                
                String
                
                  MY_VARIABLE
                
                =
                
                
                "that was a lot for a constant"
                ;
                
                
                //Value
                
                
                final
                
                
                String
                
                  dontChangeMeBro
                
                =
                
                
                "my god that is still long for a val"
                ;
                
                
                //Field
                
                
                protected
                
                
                Cord
                
                  flipMe
                
                =
                
                
                "wee!!!"
                ;
                
                
                //Property
                
                
                individual
                
                
                String
                
                  ifYouThoughtTheConstantWasVerboseHaHa
                ;
                
                
                //Still the property
                
                
                public
                
                
                String
                
                  getIfYouThoughtTheConstantWasVerboseHaHa
                ()
                
                
                {
                
                
                return
                
                  ifYouThoughtTheConstantWasVerboseHaHa
                ;
                
                
                }
                
                
                //And now the setter
                
                
                public
                
                
                void
                
                  setIfYouThoughtTheConstantWasVerboseHaHa
                (
                String
                
                  ifYouThoughtTheConstantWasVerboseHaHa
                )
                
                
                {
                
                
                this
                .
                ifYouThoughtTheConstantWasVerboseHaHa
                
                =
                
                  ifYouThoughtTheConstantWasVerboseHaHa
                ;
                
                
                }
                
                
                }
              
            

Ada banyak kombinasi lagi, tetapi jari-jari saya mulai lelah 🙂







Jika pertanyaan Anda diminta dengan menggunakan JAXB dan ingin memilih yang benar
XMLAccessType, saya memiliki pertanyaan yang sama. JAXB Javadoc mengatakan bahwa “field” adalah variabel case non-statis, not-transient. “Properti” memiliki pasangan pengambil / penyetel (jadi itu harus variabel pribadi). “Anggota publik” adalah publik, dan karena itu mungkin konstan. Juga di JAXB, “atribut” merujuk ke bagian dari elemen XML, seperti pada
<myElement myAttribute="showtime">how-do-you-do world</myElement>.

Tampaknya “properti” Coffee, secara umum, dapat didefinisikan sebagai bidang dengan setidaknya pengambil atau metode publik lainnya yang memungkinkan Anda untuk mendapatkan nilainya. Beberapa orang juga mengatakan bahwa properti perlu memiliki setter. Untuk definisi seperti ini, konteks adalah segalanya.

Baca Juga :   Menjaga Fasilitas Umum Merupakan Penerapan Pancasila Sila


Dietel dan Dietel memiliki cara yang bagus untuk menjelaskan bidang vs variabel.

“Bersama-sama variabel statis kelas dan variabel instan dikenal sebagai bidangnya.” (Bagian 6.3)

“Variabel harus dinyatakan sebagai bidang hanya jika mereka diperlukan untuk digunakan di lebih dari satu metode kelas atau jika plan harus menyimpan nilai-nilai mereka antara panggilan ke metode kelas.” (Bagian 6.four)

Jadi bidang kelas adalah variabel statis atau instance – yaitu dideklarasikan dengan ruang lingkup kelas.

Referensi – Dietel P., Dietel, H. – Java ™ Cara Memprogram (Objek Awal), Edisi Kesepuluh (2014)


Jika Anda mengambil petunjuk dari Hide:

Hide membaca / menulis status Object dengan bidangnya. Hibernate juga memetakan properti gaya Java Bean ke DB Schema. Hibernasi, Akses bidang untuk memuat / menyimpan objek. Jika pemetaan dilakukan oleh properti, hibernate menggunakan pengambil dan penyetel.

Itu adalah Enkapsulasi yang membedakan cara di mana Anda memiliki pengambil / setter untuk bidang dan itu disebut properti, dengan itu dan kami menyembunyikan struktur data yang mendasari properti itu dalam setMethod, kami dapat mencegah perubahan yang tidak diinginkan di dalam setter. Semua enkapsulasi adalah singkatan dari …

Bidang
harus dideklarasikan dan diinisialisasi sebelum digunakan. Sebagian besar untuk penggunaan internal kelas.

Properti
dapat diubah oleh setter dan mereka diekspos oleh getter. Di sini harga lapangan memiliki pengambil / penentu sehingga merupakan properti.

            
              grade
              
              
              Car
              {
              
              
              private
              
              
              double
              
                price
              ;
              
              
              public
              
              
              double
              
                getPrice
              ()
              
              
              {…};
              
              
              private
              
              
              void
              
                setPrice
              (
              double
              
                newPrice
              )
              
              
              {…};
              
              
              }
              
              
              <
              class
              
                proper name
              =
              "Machine"
              
              
              …>
              
              
              <
              property name
              =
              "toll"
              
                column
              =
              "PRICE"
              />
              
              
              </
              grade
              >
            
          

Demikian pula dengan menggunakan
bidang
, [Dalam hibernasi itu adalah cara yang disarankan untuk PETA menggunakan bidang, di mana private int id; dianotasi @Id, tetapi dengan Properti Anda memiliki kendali lebih besar]

            
              grade
              
              
              Automobile
              {
              
              
              private
              
              
              double
              
                price
              ;
              
              
              }
              
              
              <
              grade
              
                name
              =
              "Car"
              >
              
              
              <
              property name
              =
              " price"
              
                column
              =
              "PRICE"
              
                access
              =
              "field"
              />
              
              
              </
              form
              >
            
          

Coffee doc mengatakan: Field adalah data anggota suatu kelas. Bidang adalah variabel contoh tidak statis dan tidak transien. Field pada umumnya adalah variabel pribadi pada kelas instan.

Baca Juga :   Redistribusi Vertikal Adalah


Variabel terdiri dari bidang dan not-bidang.

Bidang dapat berupa:

  1. Bidang statis atau
  2. bidang not-statis juga disebut instantiasi misalnya 10 = F ()

Non-bidang dapat berupa:

  1. variabel lokal, analog bidang tetapi di dalam metode daripada di luar semuanya, atau
  2. parameter misalnya y dalam x = f (y)

Sebagai kesimpulan, perbedaan utama antara variabel adalah apakah mereka adalah bidang atau non-bidang, yang berarti apakah mereka berada di dalam suatu metode atau di luar semua metode.

Contoh Dasar (permisi untuk sintaks saya, saya hanya pemula)

            
              Class
              
              
              {
              
              
              //fields
              
              
                method1
              
              {
              
              
              //non-fields
              
              
              
              }
              
              
              }
            
          


Sebenarnya kedua istilah ini sering digunakan untuk mewakili hal yang sama, tetapi ada beberapa situasi luar biasa. Bidang dapat menyimpan keadaan suatu objek. Juga semua bidang adalah variabel. Jadi jelas bahwa bisa ada variabel yang bukan bidang. Jadi melihat ke dalam 4 jenis variabel (variabel kelas, variabel instan, variabel lokal dan variabel parameter) kita dapat melihat bahwa variabel kelas dan variabel instan dapat mempengaruhi keadaan suatu objek. Dengan kata lain jika variabel kelas atau instance berubah, keadaan objek berubah. Jadi kita dapat mengatakan bahwa variabel kelas dan variabel instan adalah bidang sedangkan variabel lokal dan variabel parameter tidak.

Jika Anda ingin memahami lebih dalam, Anda dapat mengunjungi sumber di bawah ini: –

http://sajupauledayan.com/java/fields-vs-variables-in-java


Pertanyaannya sudah lama tetapi perbedaan penting lainnya antara variabel dan bidang adalah bahwa bidang mendapatkan nilai default ketika dideklarasikan. Variabel, di sisi lain, harus diinisialisasi.



Pemahaman saya seperti di bawah ini, dan saya tidak mengatakan bahwa ini 100% benar, saya mungkin juga salah ..

Sebuah
variabel
adalah sesuatu yang Anda menyatakan, yang dapat dengan perubahan default dan memiliki nilai yang berbeda, tapi itu juga bisa secara eksplisit dikatakan terminal. Di Jawa itu adalah:

            
              public
              
              
              class
              
              
              Variables
              
              
              {
              
              
              Listing
              <
              Object
              >
              
                listVariable
              ;
              
              
              // declared but not assigned
              
              
              final
              
              
              int
              
                aFinalVariableExample
              
              =
              
              
              v
              ;
              
              
              // declared, assigned and said to exist final!
              
              
              Integer
              
                foo
              (
              List
              <
              Object
              >
              
                someOtherObjectListVariable
              )
              
              
              {
              
              
              // declare..
              
              
              Object
              
                iAmAlsoAVariable
              ;
              
              
              // assign a value..
              
                iAmAlsoAVariable
              
              =
              
              
              5
              ;
              
              
              // change its value..
              
                iAmAlsoAVariable
              
              =
              
              
              viii
              ;
              
                someOtherObjectListVariable
              .
              add together
              (
              iAmAlsoAVariable
              );
              
              
              render
              
              
              new
              
              
              Integer
              ();
              
              
              }
              
              
              }
            
          

Jadi pada dasarnya, variabel adalah segala sesuatu yang dideklarasikan dan dapat menyimpan nilai. Metode foo di atas mengembalikan variabel misalnya .. Ia mengembalikan variabel tipe Integer yang menyimpan alamat memori Integer baru (); Segala sesuatu yang Anda lihat di atas juga variabel, listVariable, aFinalVariableExample dan dijelaskan di sini:

Baca Juga :   Sebutkan Jenis Musik Asal Daerah Nama Tarian

Bidang adalah variabel yang cakupannya lebih jelas (atau konkret). Variabel yang kembali dari ruang lingkup metode foo tidak jelas dalam contoh di atas, jadi saya tidak akan menyebutnya bidang. Di sisi lain, iAmAlsoVariable adalah bidang “lokal”, dibatasi oleh ruang lingkup metode foo, dan listVariable adalah bidang “instance” di mana ruang lingkup bidang (variabel) dibatasi oleh lingkup objek.

Properti adalah bidang yang dapat diakses / dimutasi. Setiap bidang yang memperlihatkan pengambil / penyetel adalah properti.

Saya tidak tahu tentang atribut dan saya juga ingin mengulangi bahwa ini adalah pemahaman saya tentang variabel, bidang, dan properti apa.


  • variable– Alamat penyimpanan bernama. Setiap variabel memiliki tipe yang mendefinisikan ukuran memori, atribut, dan perilaku. Ada untuk jenis variabel Java:
    grade variable,
    instance variable,
    local variable,method parameter
            
              //pattern
              
              
              <
              Java_type
              >
              
              
              <
              name
              >
              
              
              ;
              
              
              //for case
              
              
              int
              
                myInt
              ;
              
              
              Cord
              
                myString
              ;
              
              
              CustomClass
              
                myCustomClass
              ;
            
          
  • field– variabel anggota atau anggota data. Itu adalah
    variabledi dalam
    class(
    class variableatau
    instance variable)

  • attribute– dalam beberapa artikel Anda dapat menemukan bahwa
    aspectitu adalah
    objectrepresentasi dari
    class variable.
    Objectberoperasi dengan
    attributesyang mendefinisikan seperangkat karakteristik.

            
              CustomClass
              
                myCustomClass
              
              =
              
              
              new
              
              
              CustomClass
              ();
              
                myCustomClass
              .
              something
              
              =
              
              
              "poor fantasy"
              ;
              
              
              //something is an attribute of myCustomClass object with a "poor fantasy" value
            
          
  • property
    field+ dibatasi
    getter/setter. Ini memiliki sintaks lapangan tetapi menggunakan metode di bawah tenda.
    Javatidak mendukungnya dalam bentuk murni. Lihatlah
    Objective-C,
    Swift,Kotlin

Contohnya
Kotlincontoh:

            
              //field - Backing Field
              
              
              class
              
              
              Person
              
              
              {
              
                var proper noun
              :
              
              
              String
              
              
              =
              
              
              "default proper name"
              
                get
              ()
              
              
              =
              
                field         set
              (
              value
              )
              
              
              {
              
                field
              
              =
              
                value
              
              }
              
              
              }
              
              
              //using
              
                val person
              
              =
              
              
              Person
              ()
              
                person
              .
              name
              
              =
              
              
              "Alex"
              
              
              // setter is used
              
                println
              (
              person
              .
              proper name
              )
              
              
              // getter is used
            
          

[Variabel cepat, properti]

Jelaskan Perbedaan Antara Properti Dan Aksesori

Source: https://qastack.id/programming/10115588/what-is-the-difference-between-field-variable-attribute-and-property-in-java