Views: 474 Author: Site Editor Publish Waati: 2025-03-14 A bɔyɔrɔ: Yɔrɔ
Fɛn minnu bɛ tali kɛ fɛnw na, olu ka mara kɔnɔ, faamuyali sɔrɔcogo caman bɛ sɔrɔ kosɛbɛ kode barikamaw ni minnu bɛ se ka mara. Hakilina minnu bɛ sɔrɔ lakana ni mɔgɔ kelen-kelen bɛɛ ka sɔrɔ hakɛw la, olu jɔyɔrɔ ka bon kosɛbɛ encapsulation na, o ye sariyakolo jɔnjɔn ye min bɛ fɛn dɔ cogoya dafalen sabati. A ka c’a la, yiriwalikɛlaw bɛ ɲɔgɔn minɛ ni sugandili ye nin fɛn fila ninnu cɛ walasa ka se ka doncogo ni lakana kɛ ɲɔgɔn fɛ u ka baarakɛminɛnw kɔnɔ. Nin barokun in bɛ sɛgɛsɛgɛli kɛ mɔgɔ ka nuancɛw kan lakananenw , k’u nɔfɛkow sɛgɛsɛgɛ porogaramukan suguya caman na.
Sɔrɔcogo sɛmɛntiyalanw ye daɲɛ kolomaw ye minnu bɛ kɛ kanw na minnu ɲɛsinnen bɛ fɛnw ma walasa ka kalanw, fɛɛrɛw, ani fɛn caman sɛmɛntiyacogo sigi sen kan. U b’a ɲɛfɔ cogo min na kalanden dɔw bɛ se ka sɔrɔ porogaramu yɔrɔ wɛrɛw la. A doncogo fɔlɔ fɛnw ye foroba , lakana , lakanani ye , ani tuma dɔw la default walima kɔnɔna , ka kɛɲɛ ni kan ye.
Mɔgɔ minnu b’a fɔ ko jamanadenw bɛ se ka sɔrɔ ka bɔ kulu wɛrɛw la. O sɔrɔli hakɛ in bɛ sira di sɔrɔli ma min bɛ se ka kɛ nka a bɛ se ka kɛ sababu ye ka jɛɲɔgɔnya laɲinitaw sɔrɔ ani ka dɔ bɔ encapsulation na.
Private . Access Modifier bɛ dan sigi kalasi mɔgɔw ka yecogo la ka ɲɛsin kalasi ma, u bɛ fɔ min kɔnɔ O bɛ kɛ sababu ye ka encapsulation (dadon) hakɛ caman sɔrɔ, ka kɛnɛma kalanw bali ka se ka don o tɔndenw na walima k’u sɛmɛntiya.
Mɔgɔ minnu bɛ ni modifier protected ye , olu bɛ se ka sɔrɔ u yɛrɛ ka kalasi kɔnɔ ani kalasi bɔlenw fɛ. Nin sɔrɔ hakɛ in bɛ balansi sɔrɔ mɔgɔ kelen ni foroba cɛ , o bɛ kɛ sababu ye ka kulu fitininw bila ka baara kɛ ni baarakɛcogo ye ani ka u ka baarakɛcogo janya ka sɔrɔ ka encapsulation hakɛ dɔw mara.
Danfara jɔnjɔn min bɛ sɔrɔ kɛrɛnkɛrɛnnenw ni lakanalenw cɛ , o bɛ sɔrɔ sɔrɔli hakɛ la min bɛ di kulu fitininw ni kɛnɛma kalanw ma.
Mɔgɔ kelen-kelenw tɛ se ka don kulu fitininw kɔnɔ, hali ni kulu fitinin bɛ pake walima modulu kelen kɔnɔ. O kɔrɔ ye ko fɛɛrɛw walima fɛn caman b’a jira ko u ye mɔgɔ kelen ta ye, olu tɛ se ka kɛ ciyɛn ye walima ka baara kɛ ni u ye k’u ɲɛsin u ma. O ni ɲɔgɔn cɛ, mɔgɔ lakananenw ka tɔndenw bɛ se ka sɔrɔ kulu fitininw kɔnɔ, o bɛ kɛ sababu ye ka ciyɛn ni camanko caman kɛ ka baara kɛ ka ɲɛ.
Baara kɛli ni mɔgɔ kelen-kelenw ye, o bɛ dɔ fara encapsulation kan, a kɛtɔ ka waleyali kunnafoniw dogo ka bɔ kalanso tɔw bɛɛ la. O bɛ se ka dankari kɛ fɛn min na, o bɛ se ka dan sigi a la. Faan wɛrɛ fɛ, tɔnden lakananenw bɛ kunnafoni dɔw jira ka ɲɛsin kulu fitininw ma, ka jatebɔ nɔgɔya nka a bɛ se ka kɛ farati ye ka fɛnw don u kɔnɔ ni u ma ɲɛnabɔ koɲuman.
Sugandili bɛ kɛ cɛ, lakana ni mɔgɔ kelen o bɛ bɔ porogaramu minnu bɛ labɛn, olu ka ɲinini kɛrɛnkɛrɛnnenw na.
Aw bɛ baara kɛ ni privé ye ni aw b’a fɛ ka encapsulation strict (enforce strict encapsulation) waleya. O bɛnnen don nafamafɛnw walima fɛn caman sɛgɛsɛgɛli ma minnu man kan ka Changé walima ka sɔrɔ kalasi kɔkan. A bɛ kɔnɔna cogoya lakana ani k’a lajɛ ko fɛn caman b’a la ka fɛn caman sɛmɛntiya kalasi kɔnɔna na, o kana nɔ bila kɛnɛma kalanw na.
Aw bɛ mɔgɔ sugandi lakanalenw ni aw bɛ kalasi dɔ labɛn min labɛnna ciyɛn kama. O b’a To kulu fitininw bɛ Se k’o tɔndenw Sɔrɔ ani k’u Lakodɔn, k’u ka kode segin-ka-bɔ ani ka ‘sèn Bɔ. A nafa ka bon karamɔgɔyasow ni gafemarayɔrɔw la, yɔrɔ minnu na, u bonya ye haminankoba ye.
Kanw danfaralenw bɛ nin doncogo sɛmɛntiyalanw waleya cogo min na, o faamuyali nafa ka bon kosɛbɛ kanko siratigɛ la ani ka fɛnw labɛnni seko dafalen sɔrɔ.
Java kɔnɔ, Protected Access Modifier bɛ yecogo di pake kelen kɔnɔ ani ka se kalasi fitininw ma hali n’u bɛ pakew kɔnɔ minnu tɛ kelen ye. Privé modifier bɛ dan sigi ka don declaring class dɔrɔn na. Nin ye misali ye:
foroba kalanso bangebaga {
lakanalen void display() {
// lakana fɛɛrɛ
}
}
foroba kalan den bɛ bange bangebaga {
public void show() {
display(); // A bɛ se ka sɔrɔ
}
}
C++ bɛ tugu o cogo kelen na, nka ni farali ye ciyɛn sɔrɔli hakɛw ɲɛfɔli kan. Mɔgɔ lakananenw bɛ se ka sɔrɔ kalasi bɔlenw na, k’a sɔrɔ mɔgɔ kelen-kelen tɛ.
kalasi basigilen {
lakanalen:
int protectedvar;
Private:
Int Privatevar;
};
kalasi bɔlen : foroba basigi {
void function() {
lakanani yɔrɔ = 1; // A bɛ se ka sɔrɔ
privatevar = 1; // A tɛ se ka sɔrɔ
}
};
Sugandili min bɛ lakana ni dankan cɛ , o bɛ nɔ bila i ka kode sɛgɛsɛgɛli la ani a lakanani na.
Baara kɛli ni mɔgɔ lakananenw ye, o bɛ dɔ fara i ka kalanw ka bonya kan. Subclass bɛ se ka ciyɛn ta ani ka nafa sɔrɔ o mɔgɔ ninnu na walasa u ka se ka jɔ baarakɛcogo kɔrɔw kan k’a sɔrɔ u ma basigi kalasi sɛmɛntiya.
Kalasi kɔnɔna minnu bɛ ni lakana ye, olu bɛ se ka kɛ sababu ye ka gɛlɛyaw lase ladonni ma. Yɛlɛma minnu bɛ kɛ basigiyɔrɔ la, olu bɛ se ka nɔ bila kulu fitininw na cogo la min ma labɛn fɔlɔ, ka kodɔnba in ɲɛnabɔli gɛlɛya.
Ni i ye fɛɛrɛ ɲumanw labato, o b’a to i ka baara kɛcogo ni doncogo sɛmɛntiyalanw ye, o bɛ i ka kode bonya sanni ka a bali.
Mɔgɔ minnu don, olu ka dannaya lakananen kojugu bɛ se ka kɛ sababu ye ka ciyɛn ta ka tɛmɛ a dan kan. Aw bɛ a lajɛ ka baara kɛ ni composition ye walasa ka kode reuse sɔrɔ, o min bɛ na ni kode ye min bɛ se ka wuli ka bɔ a nɔ na ani min bɛ se ka mara kosɛbɛ.
Aw bɛ se ka don hakɛ fitinin min wajibiya. Ni tɔnden dɔ mako tɛ a la ka se ka don a kɔnɔ, a kɛ a yɛrɛ ta ye . O wale in bɛ dɔ bɔ kɔlɔlɔw la minnu tɛ laɲini ye.
Ni i ye diɲɛ kɔnɔko lakikaw sɛgɛsɛgɛ, yɔrɔ minnu na, doncogo caman sɛmɛntiyalanw ye nɔba bila, o bɛ se ka hakilina nafamaw di.
Kalanbolo caman bɛ mɔgɔ lakananenw bɔ kɛnɛ kan walasa ka se ka baarakɛlaw bila ka basigi kalanw janya. Misali la, ɛntɛrinɛti karamɔgɔya la, basigilenw ɲɛnabɔbaga kalanw ka teli ka fɛɛrɛw lakana minnu bɛ se ka kɛ ka kɛɲɛ ni mɔgɔw sago ye.
Ko dɔw kɛra minnu na baara jugu kɛli ni sɔrɔ lakananenw ye , o kɛra sababu ye ka lakanabaliya sɔrɔ. Dakun minnu bɛ sɔrɔ ani minnu b’a jira ko u ye basi kalasi kɔnɔna sɛmɛntiya cogo la min ma labɛn, o bɛ kɛ sababu ye ka basigibaliya ni sariya tiɲɛ.
Kanko kɛrɛnkɛrɛnnenw bɛ se ka nɔ bila sɔrɔcogo caman na, ani ka jateminɛ kɛ ni porogaramuw dilanni ye.
C++ bɛ hakilina jira teriw ka kalanw ni baarakɛcogo , minnu bɛ se ka don kulu wɛrɛ mɔgɔ kelen-kelenw ni mɔgɔ lakananenw na. Nin fɛɛrɛ in bɛ dɔ fara a ka gɛlɛya kan ka se ka don a kɔnɔ ani a ka kan ka baara kɛ ni hakilitigiya ye.
Kanw i n'a fɔ Java ani C# Allow Reflection, minnu bɛ Se ka mɔgɔ kelen-kelenw Sɔrɔ baarakɛwaati la. Hali ni fanga bɛ a la, o seko bɛ se ka donko kɔlɔsiliw tiɲɛ, wa a ka kan ka ɲɛnabɔ ni ladonni ye.
Access modifiers bɛ se ka nɔ bila se la ka kode sɛgɛsɛgɛ ka ɲɛ.
Kɔrɔbɔli mɔgɔ kelen-kelenw kɔrɔbɔli la, o bɛ mɔgɔ fari faga a ka c’a la. O nɔ na, sɛgɛsɛgɛliw ka kan ka sinsin foroba-yɔrɔw kan. Nka, o bɛ se ka gɛlɛya don tuma dɔw la ka kode dafalen sɔrɔ.
Baara kɛli ni mɔgɔ lakananenw ye, o bɛ se ka sɛgɛsɛgɛli nɔgɔya ni a bɛ se ka kɛ sababu ye ka sɛgɛsɛgɛli fitininw kɛ ka se ka don ani ka basigi kalasi kɛcogo caman sɛmɛntiya. Nin fɛɛrɛ in bɛ se ka nafa sɔrɔ nka a ka kan ka kɛ ka ɲɛ walasa ka se ka dependencies (dafalenw) don waleyali kunnafoniw kan.
Kode refactoring bɛ se ka kɛ ni doncogo caman caman cili ye walasa ka sigicogo ni a maracogo ɲɛ.
Refactoring waati la, aw bɛ a lajɛ ka tɔndenw ka se ka sɔrɔ foroba la walima ka u lakana ka taa mɔgɔ kelen na ni u sɔrɔli ka bon, o tɛ wajibiya tuguni. O wale in bɛ dɔ fara fɛnw bilali kan ani ka dɔ bɔ jɛɲɔgɔnya laɲinitaw farati la.
Ni aw bɛ don hakɛw sɛmɛntiya foroba API kɔnɔ, aw ye aw janto fɛn caman na fɛn caman Changements. Dɔgɔyali sɔrɔli bɛ se ka kɛ sababu ye ka filiw kɛ ɲɔgɔn na kode la minnu bɛ bɔ i ka API la.
Hakilina kɔrɔlenw sɛgɛsɛgɛli bɛ se ka doncogo caman sɛmɛntiyacogo n’u waleyacogo juguya.
A ka c’a la, dilancogo misaliw bɛ sɔrɔli hakɛ kɛrɛnkɛrɛnnenw fɔ. Misali la, singleton pattern bɛ mɔgɔ kelen-kelen ka fɛn dilannen dɔ de wajibiya walasa ka instantiation bali ka bɔ kalanso kɔkan.
Baarakɛcogo caman na, doncogo sɛmɛntiyalanw jɔyɔrɔ ka bon jiriw lakanani na. Mɔgɔ kelen-kelenw bɛ se ka donko gɛlɛyaw bali nka u mago bɛ doncogo la min bɛ kɛ ɲɔgɔn fɛ ni u tilalen don jiriw cɛ.
Danfara min bɛ lakana ni mɔgɔ kelen-kelen bɛɛ ka doncogo sɛmɛntiyalanw cɛ, o faamuyali nafa ka bon kosɛbɛ kode nafama sɛbɛnni na. Hali ni privé bɛ encapsulation maximale sabati, Protected Own Members bɛ balansi di u kɛtɔ ka sira di subclass ma. Ni aw ye latigɛw kɛ ka ɲɛsin sɔrɔ hakɛw ma, o bɛ kode lakanani, a maracogo, ani a bonya sabati.
Ni u ye fɛɛrɛ ɲumanw labato ani ka sɛgɛsɛgɛli kɛ fɛn caman sɛmɛntiyalan kelen-kelen bɛɛ nɔfɛkow kan, baarakɛlaw bɛ se ka porogaramuw dilanni barikamaw ni fɛn caman dilan. Ka se ka doncogo sɛmɛntiyacogo ɲuman sɔrɔ, o ye seko jɔnjɔn ye min bɛ kɛ sababu ye ka porozɛw porozɛw bɛɛ lajɛlen ɲumanya n’u ɲɛtaa sɔrɔ.
Kɔnɔkow ye lankolon ye!