2024-07-12
한어Русский языкEnglishFrançaisIndonesianSanskrit日本語DeutschPortuguêsΕλληνικάespañolItalianoSuomalainenLatina
Encapsulation una est e tribus notis fundamentalibus programmandi obiecti ordinati (OOP) (encapsulation, hereditas, polymorphismus). Indicat coniungens notitias (proprietates) et modos (munerum) ad operandum data in independens unitas (classis), occultans singularia objecti quam maxime interna, et tantum exponendo instrumenti ad extra. Propositum huius rei notitias tueri est, ne externum codicem directe accedens internae notitiae obiecti structurae, errores minuat et implicationem simpliciorem reddat.
per Classis : Cum definiens genus, notitias sodales (proprietates) quasi privatas vel tutas pone, et pone modos operandi has notitias publicas. Hoc modo, Codex externus ad privata classium membra directe accedere non potest, sed ea tantum indirecte per publicas methodos accedere potest.
accessum determinatio:
public
: accessibilis per quemlibet codicem externum.protected
: Accessi non possunt nisi in ipsa classe et classibus derivatis (subclasses).private
: Nonnisi in ipso genere accessi, non classes derivatae.Constructor et destructor : Initialize obiectum per conditorem et mundare facultates ab obiecto per destructor occupatas. Sunt etiam pars encapsulationis quia vitam objecti regunt.
Infra exemplum simplex C++ ostendensRectangle
Exsecutio (rectangularis) classis.
- #include <iostream>
-
- class Rectangle {
- private:
- double width; // 矩形的宽
- double height; // 矩形的高
-
- public:
- // 构造函数
- Rectangle(double w, double h) : width(w), height(h) {}
-
- // 设置宽度
- void setWidth(double w) {
- width = w;
- }
-
- // 获取宽度
- double getWidth() const {
- return width;
- }
-
- // 设置高度
- void setHeight(double h) {
- height = h;
- }
-
- // 获取高度
- double getHeight() const {
- return height;
- }
-
- // 计算面积
- double getArea() const {
- return width * height;
- }
- };
-
- int main() {
- Rectangle rect(5.0, 10.0);
- std::cout << "Rectangle area: " << rect.getArea() << std::endl;
- rect.setWidth(7.0);
- std::cout << "New Rectangle area: " << rect.getArea() << std::endl;
- return 0;
- }
In hoc exemplo;Rectangle
generaliswidth
etheight
Possessiones fiunt codice privato et externo, eas directe accedere non possunt.Pro publicis rationibus utimur utsetWidth
、getHeight
etgetArea
) ad has proprietates privatas accedere et mitigare. Haec methodus instrumentorum notitiae encapsulationis et instrumenti ad usum externum lucidum praebet.