【软件设计师-从小白到大牛】下午题基础篇:第五章 面向对象程序设计(C++/Java)

【软件设计师-从小白到大牛】下午题基础篇:第五章 面向对象程序设计(C++/Java)

码农世界 2024-05-30 前端 106 次浏览 0个评论

文章目录

  • 前言
  • 章节提要
  • 一、C++
    • 1、类与派生类的定义
    • 2、类外定义函数体
    • 3、构造函数与析构函数
    • 4、对象指针与对象引用
    • 5、虚函数
    • 二、Java
      • 1、类的定义
      • 2、接口的定义
      • 三、答题技巧
      • 四、案例分析
        • 1、案例1
        • 2、案例2

          前言

          本系列文章为观看b站视频以及b站up主@zst_2001系列视频所做的笔记,感谢相关博主的分享。如有侵权,立即删除。

          视频链接:视频链接(注:文章中有关图片、以及网友的相关评论与总结等内容未标明出处均出自该视频,感谢大家的分享!)

          b站up主页:b站up

          章节提要

          C++和Java二选一(建议选Java,相较简单些)

          一、C++

          1、类与派生类的定义

          2、类外定义函数体

          3、构造函数与析构函数

          4、对象指针与对象引用

          5、虚函数

          二、Java

          1、类的定义

          2、接口的定义

          三、答题技巧

          • JAVA中抽象类不一定有抽象方法,但有抽象方法的一定是抽象类

          • public和abstract关键字对于interface来说是冗余的,即可以省略不写(答案一般都不写)。

          • 抽象类中的抽象方法需要写关键字abstract。(abstract和public位置可互换,建议先写public然后写abstract)

          • 接口类似于函数的声明。

          • 填写的往往是调用另外一个类中的方法,而不是真正实现该类中方法。

          • 子类继承父类的属性可以再构造方法中利用this.属性=值在构造方法中将值赋值到该类的属性中。(该继承的属性最合适为protected的,该属性在子类中不必再定义)

          • 子类中除了继承父类属性之外的属性,即子类特有的属性需要子类自己定义,如果缺失类型或变量,则在类中进行查找并填空。

          • 注意:new一个类的时候,new后面的类名需要加(),千万注意!(例如:Person p=new Person())。

          • 注意:如果是抽象类型 对象名=new 子类型若代码中存在该对象调用方法的代码,则该方法一定是在抽象类型且在子类型中都存在的,因为向上转型对象不能操作子类新增加的成员变量和成员方法,所以其调用的方法一定是在父类中存在的。

            (注:下图来自《Java语言程序设计》(陈俊杰、相洁主编,高等教育出版社))

            (注:下图来自《Java语言程序设计》(陈俊杰、相洁主编,高等教育出版社))

          • 类中方法中参数为this则传入的为该类的对象。(this访问当前对象)

            (注:下图来自前言中up主视频)

          • 创建对象时List list=new ArrayList<>()和List list=new ArrayList()都是正确的,即尖括号里面的内容可以省略,下午题中还是写上其中内容为妙。

            (注:下图来自前言中up主视频)

            (注:下图来自《Java语言程序设计》(陈俊杰、相洁主编,高等教育出版社))

          • 抽象类中的抽象方法必须写abstract关键字。

          • 存在需填空代码是创建变量/调用函数时,要考虑/判断是否需要传参数

          • 别的类或函数中,要获取某个类中的私有属性,必须通过该类的公有成员方法进行获取

          • 类有成员变量和成员方法,而接口却只有常量和抽象方法,也就是说,接口的成员变量必须初始化,同时接口中的所有方法必须声明为abstract方法(关键字abstract可省)。

          • 接口体包括接口中需要说明的常量和抽象方法。由于接口体中只有常量,所以接口中的成员变量只能定义为static和final型,在类实现接口时不能被修改,而且必须用常量初始化。

            (注:下图来自《Java语言程序设计》(陈俊杰、相洁主编,高等教育出版社))

            (注:下图来自《Java语言程序设计》(陈俊杰、相洁主编,高等教育出版社))

            四、案例分析

            1、案例1

            • 抽象工厂:设计模式中的典型的创建型模式,有多个不同的工厂,只需要指定的工厂,生产出来的类就属于同一种系列的类,产生的对象就是一个系列的对象。

            正确答案:

            2、案例2

            • 桥接模式:会把类树分成2个,用桥连接起来。
            • 依赖关系:一个类调用了另外一个类的方法。

            正确答案:

            (4)(5)

            (6)

转载请注明来自码农世界,本文标题:《【软件设计师-从小白到大牛】下午题基础篇:第五章 面向对象程序设计(C++/Java)》

百度分享代码,如果开启HTTPS请参考李洋个人博客
每一天,每一秒,你所做的决定都会改变你的人生!

发表评论

快捷回复:

评论列表 (暂无评论,106人围观)参与讨论

还没有评论,来说两句吧...

Top