面向对象——封装、继承、多态性

来源:互联网 发布:mysql linux 内核 编辑:程序博客网 时间:2024/05/17 16:56

封装、继承与多态性是面向对象编程的三大原则。

封装

封装(Encapsulation),即隐藏对象的属性和实现细节,仅对外公开接口,控制在程序中属性的读取和修改的访问级别。

//Animal.hclass Animal {    public:        Animal();        virtual ~Animal();        void Eat() {            cout << "Animal eat." << endl;        }    private:        void Sleep() {            cout << "Animal sleep." << endl;        }};
//Main.cppint main() {    Animal* anl = new Animal();    anl->Eat();    //anl->Sleep();    return 0;}

封装Animal类,其中包括一个public(公有的)方法Eat,一个private(私有的)方法Sleep。在Main中可直接调用Animal对象公有的的Eat方法,且无需知道Eat方法的具体实现细节。但在Main中不可以调用Animal对象私有的Sleep方法。私有的方法仅在类的内部可以调用。

继承

继承(Inheritance),是基于一个父类创建一个新的子类的过程。子类自动拥有父类所有成员变量(属性)和函数(方法),并可根据需要添加更多的成员变量或函数。

//Dog.hclass Dog : public Animal {    public:        Dog();        virtual ~Dog();        void Bark() {            cout << "Dog bark." << endl;        }};
//Main.cppint main() {    Dog* dg = new Dog();    dg->Eat();    dg->Bark();    return 0;}

多态

多态性(Polymorphism),是指借助动态绑定技术,为一个函数名关联多种含义的能力。可以存在“一个接口,多种实现”的效果。

0 0
原创粉丝点击