发布日期:2015-12-08 10:51 来源: 标签: 编程语言 C++教程 C++面向对象 C++封装继承和多态
本章我们主要学习C++面向对象的三大特点封装、继承和多态,下面我们就做一下具体讲解,希望大家多多支持中国站长网络学院。
面向对象的三大特点

1、封装
封装是面向对象最重要的特征之一,封装就是指隐藏。 对象隐藏了数据(例如private属性),避免了其他对象可以直接访问使用对象属性而造成耦合度过高,过度依赖。同时也可以阻止其他对象随意修改对象内部的数据而引起对象的不一致,要访问对象的数学,必须使用对象提供的相关函数。 对象隐藏方法的实现细节。 a)使用者只能使用公有方法而不能使用那些受保护的或者私有的方法,你可以修改这些非公有的方法而不影响使用者。 b)可以隐藏具体类型,使用者不必关心对象的真正的类型就可以使用它们(依赖于接口或者抽象带实现)。 c)使用者无需关系那些与使用者无关的类,减少耦合。 由于只能通过公用接口和方法是用他们,这样,客户程序就不能使用那些受保护的方法(如采用private 或protected关键字修饰的方法),而你可以随意改变这些方法,并不会影响使用者,这样降低了耦合度。
interface Display{
    public void display();
}
 class Person implements Display{
    private int age; //属性的隐藏
    protected String name;
     
    public Person(int age, String name){
        this.age = age;
        this.name = name;
    }
     
    public int getAge() {
        return age;
    }
    public void setAge(int age) {
        this.age = age;
    }   
    public void display(){
        System.out.println(age:+age+,name:+name);
    }
}
方法隐藏的典型例子是单例模式。
2、继承
继承是面向对象的又一重要特征。继承可以使用不同的类的对象具有相同的行为;为了使用其他类的方法,我们没有必要重新编写这些旧方法,只要这个类(子类)继承包含的方法的类(父类)即可。 从下往上看,继承可以重用父类的功能;从上往下看,继承可以扩展父类的功能。
class Student extends Person{ //继承 private int ID; public Student(int age, String name, int ID) { super(age, name); this.ID = ID; } public void display(){ System.out.println(age:+this.getAge()+,name:+this.name + ,ID:+this.ID); } }
3、多态 
多态可以使我们以相同的方式处理不同类型的对象。我们可以使用一段代码处理不同类型的对象,只要他们继承/实现了相同的类型。这样,我们没有必要为每一种类型的对象撰写相同的逻辑,极大的提高了代码的重用。 在上面的两个类中,我们不需要知道具体对象的类型,通过接口我们可以调用display()函数,显示相应对象的信息。

相关评论

专题信息
    C++是在C语言的基础上开发的一种面向对象编程语言,应用广泛。C++支持多种编程范式 --面向对象编程、泛型编程和过程化编程。最新正式标准C++于2014年8月18日公布。 其编程领域众广,常用于系统开发,引擎开发等应用领域,是至今为止最受广大程序员受用的最强大编程语言之一,支持类:类、封装、重载等特性! 本教程从基础讲解了C++语言,希望对大家有所帮助,望多多支持中国站长网络学院。