Field encapsulation

In computer programming, field encapsulation involves providing methods that can be used to read from or write to the field rather than accessing the field directly. Sometimes these accessor methods are called getX and setX (where X is the field's name), which are also known as mutator methods. Usually the accessor methods have public visibility while the field being encapsulated is given private visibility - this allows a programmer to restrict what actions another user of the code can perform.[1] Compare the following Java class in which the name field has not been encapsulated:

public class NormalFieldClass {
    public String name;
 
    public static void main(String[] args)
    {
        NormalFieldClass example1 = new NormalFieldClass();
        example1.name = "myName";
        System.out.println("My name is " + example1.name);
    }
}

with the same example using encapsulation:

public class EncapsulatedFieldClass {
    private String name;
 
    public String getName()
    {
        return name;
    }
 
    public void setName(String newName)
    {
        name = newName;
    }
 
    public static void main(String[] args)
    {
        EncapsulatedFieldClass example1 = new EncapsulatedFieldClass();
        example1.setName("myName");
        System.out.println("My name is " + example1.getName());
    }
}

In the first example a user is free to use the public name variable however they see fit - in the second however the writer of the class retains control over how the private name variable is read and written by only permitting access to the field via its getName and setName methods.

Advantages

  • The internal storage format of the data is hidden; in the example, an expectation of the use of restricted character sets could allow data compression through recoding (e.g., of eight bit characters to a six bit code). An attempt to encode characters out of the range of the expected data could then be handled by casting an error in the set routine.
  • In general, the get and set methods may be produced in two versions - an efficient method that assumes that the caller is delivering appropriate data and that the data has been stored properly, and a debugging version that while slower, performs validity checks on data received and delivered. Such detection is useful when routines (calling or called) or internal storage formats are newly created or modified.
  • The location of the stored data within larger structures may be hidden and so enabling changes to be made to this storage without the necessity of changing the code that references the data. This also reduces the likelihood of unexpected side effects from such changes. This is especially advantageous when the accessors are part of an operating system (OS), a case where the calling (application) code may not be available to the developers of the OS.

Disadvantages

Access to a subroutine involves additional overhead not present when data is accessed directly. While this is becoming of less concern with the wide availability of fast general-purpose processors it may remain important in coding some real-time computing systems and systems using relatively slow and simple embedded processors. In some languages, like C++, the getter / setter methods are usually inline functions, so that when inlining is performed, the code looks just like direct field accessing.

References

  1. ^ Liang, Y. Daniel. "9.9 Data Field Encapsulation". Revel for Introduction to Java Programming and Data Structures.

Read other articles:

Bagian dari seri tentangBuddhisme SejarahPenyebaran Sejarah Garis waktu Sidang Buddhis Jalur Sutra Benua Asia Tenggara Asia Timur Asia Tengah Timur Tengah Dunia Barat Australia Oseania Amerika Eropa Afrika Populasi signifikan Tiongkok Thailand Jepang Myanmar Sri Lanka Vietnam Kamboja Korea Taiwan India Malaysia Laos Indonesia Amerika Serikat Singapura AliranTradisi Buddhisme prasektarian Aliran Buddhis awal Mahāsāṃghika Sthaviravāda Aliran kontemporer Theravāda Mahāyāna Vajrayāna Kon...

 

 

Artikel ini perlu dikembangkan agar dapat memenuhi kriteria sebagai entri Wikipedia.Bantulah untuk mengembangkan artikel ini. Jika tidak dikembangkan, artikel ini akan dihapus. Artikel ini membutuhkan rujukan tambahan agar kualitasnya dapat dipastikan. Mohon bantu kami mengembangkan artikel ini dengan cara menambahkan rujukan ke sumber tepercaya. Pernyataan tak bersumber bisa saja dipertentangkan dan dihapus.Cari sumber: Cevdet Sunay – berita · surat kabar · buku&...

 

 

Untuk kegunaan lain, lihat Putri Duyung (disambiguasi). Putri DuyungGenre Drama Fantasi PembuatSoraya Intercine FilmsPemeran Sahrul Gunawan Mikaila Patritz Fuad Alkhar Lagu pembukaFantasi —Lagu penutupFantasi —Negara asalIndonesiaBahasa asliIndonesiaJmlh. episode23 (daftar episode)ProduksiLokasi produksiJakartaDurasi65 menitRilis asliJaringanANTVFormat audioStereoDolby Digital 5.1Rilis19 Februari (2017-02-19) –10 Maret 2017 (2017-03-10)Acara terkait Putri Duyung Putri Duy...

Mazmur 132Naskah Gulungan Mazmur 11Q5 di antara Naskah Laut Mati memuat salinan sejumlah besar mazmur Alkitab yang diperkirakan dibuat pada abad ke-2 SM.KitabKitab MazmurKategoriKetuvimBagian Alkitab KristenPerjanjian LamaUrutan dalamKitab Kristen19← Mazmur 131 Mazmur 133 → Mazmur 132 (disingkat Maz 132 atau Mz 132; penomoran Septuaginta: Mazmur 131) adalah sebuah mazmur dalam bagian ke-5 Kitab Mazmur di Alkitab Ibrani dan Perjanjian Lama dalam Alkitab Kristen. Tidak ada catatan n...

 

 

Wakil Bupati Manggarai TimurPetahanaSiprianus Habur, S.Sossejak 7 Desember 2022Masa jabatan5 tahunDibentuk14 Februari 2009Pejabat pertamaAgas Andreas, S.H., M.Hum.Situs webwww.manggaraitimurkab.go.id Berikut ini adalah daftar Wakil Bupati Manggarai Timur dari masa ke masa. No Wakil Bupati Mulai Jabatan Akhir Jabatan Prd. Ket. Bupati 1 Agas AndreasS.H., M.Hum. 14 Februari 2009 14 Februari 2014 1   Drs.Yoseph ToteM.Si. 14 Februari 2014 14 Februari 2019 2 [Ket. 1] 2 Drs.Jaghur ...

 

 

Business School of Purdue University Purdue UniversityDaniels School of BusinessFormer nameKrannert School of ManagementMottoCreating the next generation of students ready to lead, or found, great companies and transform society.TypePublic schoolEstablished1962Parent institutionPurdue UniversityDeanJames B. BullardAcademic staff161Students3,092 (2019–20)Undergraduates2,344 (2019–20)Postgraduates748 (2019–20)LocationWest Lafayette, Indiana, United StatesColorsOld Gold and Black  ...

Municipality in Catalonia, SpainLlorenç del PenedèsMunicipality FlagCoat of armsLlorenç del PenedèsLocation in CataloniaShow map of Province of TarragonaLlorenç del PenedèsLlorenç del Penedès (Catalonia)Show map of CataloniaLlorenç del PenedèsLlorenç del Penedès (Spain)Show map of SpainCoordinates: 41°17′9″N 1°33′12″E / 41.28583°N 1.55333°E / 41.28583; 1.55333Country SpainCommunity CataloniaProvince TarragonaComarcaBaix PenedèsGo...

 

 

Type of complementary and alternative medicine This article's lead section may be too short to adequately summarize the key points. Please consider expanding the lead to provide an accessible overview of all important aspects of the article. (August 2023) Hypnosis Applications Animal magnetism Hypnotherapy Stage hypnosis Self-hypnosis Hypnosurgery Origins/History History of hypnosis Royal Commission on Animal Magnetism Key figures Theodore Xenophon Barber Deirdre Barrett Hippolyte Bernheim Gi...

 

 

Художественное изображение газового гиганта в двойной системе PSR B1620-26, которая состоит из нейтронной звезды и белого карлика и находится в шаровом скоплении M4. Планета с кратной орбитой — экзопланета, которая обращается не вокруг одиночной звезды (как, например, Земл�...

銮披汶·頌堪แปลก พิบูลสงคราม第3任泰國總理任期1938年12月16日—1944年8月1日君主國王拉玛八世前任披耶帕凤侯爵继任寬·阿派旺第8任泰國總理任期1948年4月8日—1957年9月16日君主國王拉玛九世前任寬·阿派旺继任乃朴·沙拉信 个人资料出生貝·基達桑卡(1897-07-14)1897年7月14日 暹罗暖武里府逝世1964年6月11日(1964歲—06—11)(66歲) 日本神奈川縣相模原市国籍&#...

 

 

2016年美國總統選舉 ← 2012 2016年11月8日 2020 → 538個選舉人團席位獲勝需270票民意調查投票率55.7%[1][2] ▲ 0.8 %   获提名人 唐納·川普 希拉莉·克林頓 政党 共和黨 民主党 家鄉州 紐約州 紐約州 竞选搭档 迈克·彭斯 蒂姆·凱恩 选举人票 304[3][4][註 1] 227[5] 胜出州/省 30 + 緬-2 20 + DC 民選得票 62,984,828[6] 65,853,514[6]...

 

 

County in Xinjiang, ChinaHoxud County 和硕县 (Chinese)خوشۇت ناھىيىسى (Uyghur)ᠬᠣᠱᠤᠳ ᠰᠢᠶᠠᠨ (Mongolian)CountyLocation of Hoxud County (red) within Bayingolin Prefecture (yellow) and XinjiangHoxudLocation of the seat in XinjiangShow map of BayingolinHoxudHoxud (Xinjiang)Show map of XinjiangHoxudHoxud (China)Show map of ChinaCoordinates: 42°16′N 86°51′E / 42.267°N 86.850°E / 42.267; 86.850CountryChinaAutonomous regi...

Vista panorámica de la Facultad de Historia, Geografía y Ciencias Políticas de la Universidad Católica. El Instituto de Historia de la Pontificia Universidad Católica de Chile es un departamento universitario chileno dedicado a la formación e investigaron histórica, a cargo de la Pontificia Universidad Católica de Chile, de los más importantes a nivel nacional. Su actual director es el Dr. Claudio Rolle. Historia Inicios El Instituto de Historia tiene su origen en el año 1943, cuand...

 

 

Saint-Gladie-Arrive-MuneincomuneSaint-Gladie-Arrive-Munein – Veduta LocalizzazioneStato Francia Regione Nuova Aquitania Dipartimento Pirenei Atlantici ArrondissementOloron-Sainte-Marie CantoneOrthez et Terres des Gaves et du Sel TerritorioCoordinate43°23′N 0°56′W / 43.383333°N 0.933333°W43.383333; -0.933333 (Saint-Gladie-Arrive-Munein)Coordinate: 43°23′N 0°56′W / 43.383333°N 0.933333°W43.383333; -0.933333 (Saint-Gladie-Arriv...

 

 

ملكة جمال العالم 2010 ألكسندريا ميلس ، حاملة لقب مسابقة ملكة جمال العالم 2010 تاريخ العرض 30 أكتوبر 2010 مقدم الحفل ستيف دوغلاسأنجيلا تشاو ضيف شرف شاين واردديف كوزكارلوس أبونتي مكان مسرح تاج الجمال، سانيا، الصين البث التلفيزيوني إي!سي سي تي في مشاركين 115 المراكز 25 إنقطاع عن النمس...

Basque breed of sheep Basco-BéarnaiseHeadCountry of originBasque countryUsemilkSheepOvis aries The Basco-Béarnaise or Vasca Carranzana is a breed of domestic sheep originating in the Basque country. It was developed from Basque and Béarnaise sheep during the 1960s to be a single-purpose milk breed.[1] Origins It derives from a family of sheep breeds from the Pyrénées with falling wool. It arose in the Béarnaise part of the Pyrénées. It has long been flocked across the Girondin...

 

 

Terms and concepts relevant to botany and plants This article needs additional citations for verification. Please help improve this article by adding citations to reliable sources. Unsourced material may be challenged and removed.Find sources: Glossary of botanical terms – news · newspapers · books · scholar · JSTOR (December 2022) (Learn how and when to remove this message) This glossary of botanical terms is a list of definitions of terms and concept...

 

 

У этого термина существуют и другие значения, см. Медуза (значения). MeduzaМедуза Страна  Латвия Владелец Medusa Project SIA[1][2] Генеральный директор Галина Тимченко Издатель Илья Красильщик (с 2014 по 2019)Галина Тимченко (с 2019) Главный редактор Иван Колпаков[4][5] Дата ...

County in Texas, United States County in TexasJim Wells CountyCountyThe Jim Wells County Courthouse in AliceLocation within the U.S. state of TexasTexas's location within the U.S.Coordinates: 27°44′N 98°05′W / 27.73°N 98.09°W / 27.73; -98.09Country United StatesState TexasFounded1911Named forJames Babbage Wells Jr.SeatAliceLargest cityAliceArea • Total868 sq mi (2,250 km2) • Land865 sq mi (2,240 km...

 

 

Large lizard native to the Sonoran and Mojave Deserts Common chuckwalla[1] Conservation status Least Concern  (IUCN 3.1)[2] Scientific classification Domain: Eukaryota Kingdom: Animalia Phylum: Chordata Class: Reptilia Order: Squamata Suborder: Iguania Family: Iguanidae Genus: Sauromalus Species: S. ater Binomial name Sauromalus aterDumeril, 1856 Approximate range of S. ater Synonyms Sauromalus obesus (Baird, 1859) Sauromalus ater, also known as the common chuckwalla...