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,编译器对类的表示法有具体的要求;

  • 相关阅读:
    脉络清晰的BP神经网络讲解,赞
    Git工作流指南:Gitflow工作流 Comparing Workflows
    局部敏感哈希Locality Sensitive Hashing(LSH)之随机投影法
    CMake入门指南-编译教程
    LaTeX新人教程,30分钟从完全陌生到基本入门
    Android 高手进阶之自定义View,自定义属性(带进度的圆形进度条)
    JSON 数组
    JSON 对象
    JSON语法
    JSON
  • 原文地址:https://www.cnblogs.com/dishengAndziyu/p/10904462.html
Copyright © 2011-2022 走看看