zoukankan      html  css  js  c++  java
  • C++总结笔记(二)面向对象

    面向对象(OOP)

    面向对象(Object-oriented programming)程序设计是一种适用于设计、开发各类软件的泛型;面向对象采用了自顶向下,逐步求精的原则;

    面向对象主要包括对象、类、数据抽象、继承、动态绑定、数据封装、多态、消息传递。

    对象:可以对其做事情的一些东西。通常有状态、行为和标识三种属性。

    类  :具有相同结构和行为的对象的集合。

    封装:1.将数据和操作捆绑在一起;2.将接口和实现分离。

    消息传递:一个对象调用了另一个对象的方法。

    动态绑定:一个对象或者表达式的类型直到运行时才确定。

    静态绑定:一个对象或者表达式的类型在编译时就已确定。

    继承:一个类共享了一个或者多个类定义的结构和行为。

    多态:一个名称可以表示很多不同的类对象。

    面向对象的主要特征:封装性、多态性、继承性。

    示例代码:

    #include<iostream>
    #include<string>
    using namespace std;

    //面向对象简单举例

    //封装:将数据和行为集合在一个对象中
    class PersonSex
    {
     public:
      string sex;
      //虚函数实现多态,动态多态
      virtual void setSex(string sex)
      {
       if(sex == "F")
       {
        cout<<"我是个男人!"<<endl;
       }
       else
       {
        cout<<"我是个女人!"<<endl;
       }
      }
    };

    //继承:一个对象具有一个或者多个其他对象行为。
    //Boy 继承自PersonSex,拥有PersonSex的行为
    class Boy:public PersonSex
    {
     public:
      void setSex(string sex)
      {
       cout<<"I am "<<sex<<endl;
      }
    };

    class Girl:public PersonSex
    {
     public:
      void setSex(string sex)
      {
       cout<<"I am a"<<sex<<endl;
      }
    };


    int main()
    {
     PersonSex P;
     Boy B;
     Girl G;
     PersonSex *p1 = &P;
     PersonSex *p2 = &B;
     PersonSex *p3 = &G;

        p1->setSex("F");
     p2->setSex("F");
     p3->setSex("F");
    }

  • 相关阅读:
    tophat安装
    glimmer 3.02安装小记
    Augustus安装小记
    推荐几个手机网站在线预览测试工具
    软件分辨率兼容性测试
    谈谈软件兼容性测试
    网页兼容性测试(工具使用IETESTER、Firefox、360安全浏览器)
    12款很棒的浏览器兼容性测试工具推荐
    测试用例设计——如何提高测试覆盖率
    软件测试报告写作实战案例
  • 原文地址:https://www.cnblogs.com/huochangjun/p/3086474.html
Copyright © 2011-2022 走看看