面向对象学习笔记

99 阅读2分钟

这是我参与11月更文挑战的第9天,活动详情查看:2021最后一次更文挑战

前言

面向对象是Java、C++等等许多热门语言的重要特性,那么什么是面向对象呢?今天我们来简单的理解一下

什么是面向对象

在面向对象的思想中所有的事物都为对象,那么什么是对象呢?

对象是一个自包含的实体,用一组可识别的特性和行为来标识

面向对象编程,英文名叫做Object-Oriented Programming(OOP)

​ 之前我们在学习C语言的时候,老师会说C语言是面向过程编程,那什么是面向过程,什么是面向对象呢?

简单来说,面向过程就像是一个木匠在制作家具的时候,专注的怎么来制作家具,也就是制作家具的过程;而面向对象,则是木匠专注于家具本身。

image-20211109234641528

image-20211109235009493

同时也引出了一个新的概念---类

类是具有相同属性和功能的对象的集合,需要由class关键字定义

类的命名规范

类的命名规范使用的是大驼峰命名法,及单词首字母大写

面向对象的三大特性

面向对象的三大特性:封装、继承、多态

一、封装:

  1. 对象是属性和方法的整体;

  2. 类的属性是私有的,方法一般是公开的,数据是封装的,处理数据的方法公开使用。

二、继承(is_a)

依赖关系(关联关系):A类调用B类的方法完成一种功能,称A类依赖于B类

聚合关系:A类由B类的对象组成的 如:(公司、职工) ||( 人、心脏)

组合关系:是一种强聚合,A类由B类对象组成,并且A类对象的生命周期和B类对象的生命周期是一样的

OOD:面向对象设计

OOA:面向对象分析方法

子类继承父类中的所有的属性和方法

访问修饰符:

   public:公有继承

   private:私有继承

​ protected:保护继承

调用格式:

1、调用父类的构造函数:自动调用

2、显式调用父类的构造函数(需要传参)

​ 子类构造函数(形参表):父类构造函数名(实参表)

3、 继承具有传递性

三、多态:(要想实现多态的思想,需要使用声明父类对象

​ 如果出现 父类对象=子类对象 //意义是将子类的各个属性值赋值给对应的父类对象属性值

​ 多态的应用:开闭原则:对扩展开发,对修改封闭,即出现新问题时,不去修改原来已经写好的源码,而是创建新的子类,扩展新的功能。