zoukankan      html  css  js  c++  java
  • C++中的面向对象(二)

    1,类之间的基本关系:

        1,继承:

           1,从已存在类细分出来的类和原类之间具有继承关系(is-a);

               1,子类就是一个(is-a)父类;

               2,继承是单向的;

           2,继承的类(子类)拥有原类(父类)的所有属性和行为;

        2,组合:

           1,一些类的存在必然依赖于其它的类,这种关系叫组合;

               1,同生死,共存亡;

           2,组合的类在某一个局部上由其它的类组成;

          

    2,类之间的基本关系:

        1,继承: 

     

        2,组合: 

     

          

    3,类的表示法(生活中的概念用程序语言表达):

        1,原始表达:

     

           1,问题:

               1,图的方式编译器读不懂,更改;

        2,简化:

     

           1,问题:

               1,类之间的继承关系没有表示出来;

               2,继承而来的属性和行为需要重复声明;

                  1,继承从概念上就使得子类拥有父类的一切属性和行为,重复申请没有意义;

        3,改进 1:  

     

           1,问题:

               1,需要使用划线来表示属性和行为,不适合于编程开发;

        4,改进 2:

           1,问题:

               1,使用中文进行属性和行为的描述,绝大多数编译器无法接受;

        5,改进 3:

     

           1,思考:

               1,如何用程序设计中的概念描述类的属性和行为?

                  1,变量和函数;

        6,改进 4:  

     

    4,类的表示法编程实验:

        1,main.cpp 文件:

     1 #include <stdio.h>
     2 
     3 struct Biology {
     4     bool living;
     5 };
     6 
     7 struct Animal : Biology {
     8     bool movable;
     9     void findFood() { }
    10 };
    11 
    12 struct Plant : Biology {
    13     bool growable;
    14 };
    15 
    16 struct Beast : Animal {
    17     void sleep() { }
    18 };
    19 
    20 struct Human : Animal {
    21     void sleep() { }
    22     void work() { }
    23 };
    24 
    25 int main()
    26 {
    27     return 0;
    28 }

        2,编译通过;

       

    5,小结:

        1,类之间可以存在继承关系或组合关系;

        2,继承关系中子类拥有父类的一切属性和行为;

        3,组合关系是类之间整体和部分的关系;

        4,类及类之间的关系可以有不同的表示法;

        5,编译器对类的表示法有具体的要求;

  • 相关阅读:
    Linux下编译安装PCRE库
    Keepalived+Nginx实现高可用和双主节点负载均衡
    如何安装nginx第三方模块
    Nginx之http_image_filter_module模块使用
    nginx利用image_filter动态生成缩略图
    Nginx 服务器开启status页面检测服务状态
    nginx实时生成缩略图到硬盘上
    分布式文件系统 FastDFS 5.0.8 & Linux CentOS 6.7 安装配置
    spring中scope作用域(转)
    jQuery的切换函数(hover,toggle)
  • 原文地址:https://www.cnblogs.com/dishengAndziyu/p/10904462.html
Copyright © 2011-2022 走看看