Articles

co je mutační metoda v Javě?

Dozvědět se, co je metoda mutator v javě a výhody použití mutátory a přístupové metody. Všechna vysvětlení obsahují příklady pro ilustraci.

image Karta cap

V tomto článku se dozvíte, co metoda mutator v javě a přístupové metody. Kromě toho pochopíte výhody používání metod mutátoru a accessoru a uvidíte některé příklady java.

koncepty mutátorových a accessorových metod úzce souvisejí s objektově orientovaným programováním a zapouzdřením. V případě, že nejste obeznámeni s objektově orientovaným programováním. Níže jsem uvedl stručný úvod; Nicméně, pokud byste chtěli další podrobnosti, podívejte se na dokumentaci.

Obsah

Objektově Orientované Programování Shrnutí

Objektově Orientovaného Programování znamená, že budete řešit problémy zastupující subjekty problém jako třídy. Třída má stav a metody, kde stav je sada proměnných obsahujících relevantní data v naší reprezentaci. A metody určují operace, které naše třída může provádět.

můžeme například definovat kruh třídy:

public class Circle {private float radius; public Circle(float newRadius) { this.radius = newRadius; } public double area(){ return Math.PI * Math.pow(radius, 2); } }

tato třída představuje koncept kruhu. Stav třídy kružnice má poloměr a metodu pojmenovanou area(), která vrací oblast kružnice.

můžete přidat následující kód Circle třída vyzkoušet si to:

public static void main(String args){ Circle circle1 = new Circle(3); System.out.println(circle1.area()); }

Výstup:

28.274333882308138

Zapouzdření Rekapitulace

Jsme definovali třídu pomocí objektově-orientovaného programování a vytvořil objekt circle1 třídy Circle. Co kdybych chtěl upravit poloměr objektu circle1. Jak kód stojí, nemohu jej změnit, protože neexistuje žádná metoda pro přístup k proměnné radius. Jediné, co mohu udělat, je vytvořit nový objekt kruhu s jiným poloměrem. Co mohu udělat, abych to napravil?

můžete udělat dvě věci; jeden povede k dobře navržené třídě a druhý k chudému, náročnému na udržení designu. Jednou z možností je deklarovat pole radius jako veřejné pole, takže je přístupné mimo třídu. Viz níže uvedené změny:

public class Circle {public float radius; public Circle(float newRadius) { this.radius = newRadius; } public double area(){ return Math.PI * Math.pow(radius, 2); } public static void main(String args){ Circle circle1 = new Circle(3); System.out.println(circle1.radius); circle1.radius = 5; System.out.println(circle1.radius); } }

Výstup:

3.05.0

další možností je vytvoření metody pro přístup a upravit pole radius, který umožňuje skrýt implementační detaily. Tento mechanismus je také známý jako zapouzdření.

Mutator Definici Metody v Javě

metoda mutator v javě, a jakýkoliv objektově orientovaný programovací jazyk, je metoda, která umožňuje změnit proměnné uvnitř třídy. Private je přístupová úroveň pro proměnné, což znamená, že jediný způsob, jak změnit proměnné, je použití mutátorových metod. Tímto způsobem mohou mutační metody řídit platnost a kvalitu dat uložených ve třídě.

například v předchozím úryvku kódu je metoda setRadius() mutátorovou metodou. Tuto metodu můžete upravit tak, abyste přidali nějaké ověření dat. Příkladem validace dat může být například kontrola, zda je nový poloměr záporné číslo.

Accessor Method Definition in Java

Accessor methods jsou metody, které umožňují číst pole třídy jiným metodám nebo třídám mimo třídu. Tímto způsobem můžete řídit, jak může klientský kód přistupovat k polím třídy.

Mutátory a Přístupové Příklady

podívejme se na některé příklady pro ilustraci mutator a přístupové metody. Setters a getters je další způsob, jak odkazovat na metody accessor a mutator.

níže je uveden příklad, jak přidat gettery do třídy. Třída se nazývá Product, a to má dva příjemcové: getPrice()getName(). Tyto metody umožňují jakýkoli kód klienta pro přístup k proměnné třídy, které je pricename.

import java.math.BigDecimal;public class Product { private BigDecimal price; private String name;// getter or accessor methods public BigDecimal getPrice() { return price; } public String getName() { return name; }}

a nyní přidám mutátory, abych mohl přistupovat a upravovat proměnnou třídy.

import java.math.BigDecimal;public class Product { private BigDecimal price; private String name; public BigDecimal getPrice() { return price; } public String getName() { return name; } // mutator or setter methods public void setPrice(BigDecimal price) { if(price.compareTo(BigDecimal.ZERO)<0 )throw new IllegalArgumentException("Empty product name"); this.price = price; } public void setName(String name) { if(name.isEmpty()) throw new IllegalArgumentException("Empty product name"); this.name = name; }}

Jak můžete vidět výše, setter metody setPrice()setName() rovněž zahrnovat ověření, ujistěte se, že data prošla splňovat některá kritéria. Jedním z požadavků je například to, že cena by měla být vždy nad nulou. V případě, že parametr není platný, kód hodí výjimku. V opačném případě přiřadí novou hodnotu.

Konvence Pojmenování pro Mutátory

V jazyce java, jména tyto metody, přístupové metody, a mutátory by měl dodržovat určité konvence. Tato pravidla jsou zcela stabilizovaná, což je nezbytné dodržovat. Nedodržení těchto konvencí může způsobit frustraci a zmatek, když ostatní lidé čtou váš kód.

začněme konvencemi pojmenování mutátorů. Metoda by měla být prohlášena za veřejnou a vrátit neplatnou. Název metody by navíc měl začínat slovem set malými písmeny. Následuje název proměnné třídy s počátečním velkým písmenem. Pokud má například naše třída proměnnou s názvem age, pak by metoda mutátoru měla vypadat následovně:

public void setAge(int age){...}

Konvence pro Přístupové metody

Spolu s mutátory, viděli jsme, přístupové, které také sledovat podobné konvence pojmenování. Pravidla jsou taková, že metoda by měla být prohlášena za veřejnou. Název metody by navíc měl začínat get, následovaný názvem proměnné třídy s počátečním velkým písmenem. Metoda nemá žádné parametry a vrací typ proměnné instance. V návaznosti na předchozí příklad vytvoříme metodu accessor pro proměnnou age :

public int getAge(){...}

Výhody Mutátory a Přístupové

zatím jsme viděli accessor a mutator metod v jazyce java s některými příklady. A seznamte se s konvencemi pojmenování, které byste měli dodržovat při deklaraci těchto metod. Jak jsou však tyto metody užitečné? Hlavní výhodou je zapouzdření. To v podstatě znamená, že vytvořením těchto metod skrýváte vnitřní podrobnosti své třídy před ostatními komponenty. Ostatní komponenty mohou komunikovat pouze přes API.

v důsledku toho jsou třídy odděleny; nezávisí na každém, což vám umožní vyvíjet se izolovaně, což vede k rychlejšímu vývoji, protože členové týmu mohou vytvářet různé třídy a komponenty paralelně. Kromě usnadnění údržby, protože komponenty mohou být upraveny, s malým dopadem na další závislé komponenty.

Závěr

Abych to shrnul, v tomto článku jsme viděli, že mutator metody a přístupové metody v javě jsou metody, které nám umožňují psát a číst proměnné třídy. Jejich primárním účelem je pomáhat nám navrhovat třídy, které jsou dobře zapouzdřené a oddělené od sebe.

doufám, že vám článek bude užitečný, a moc vám děkuji za přečtení a podporu tohoto blogu! Šťastné kódování!