面向对象编程(OOP)

简介: 面向对象编程(OOP)

1.理解面向对象

   (1)结构化程序设计(面向过程程序设计)

       程序 = 算法 + 数据结构


       算法第一位,数据结构第二位

   (2)面向对象程序设计

       程序 = 对象 + 对象 + ~~~


       数据第一位,算法第二位


       关键:让每一个对象负责执行一组相关任务


   (3)面向对象编程的特性

       万物皆对象,程序是一组对象彼此之间在发送消息,每个对象都有自己的内存占用,可以组装成更大的对象。每个对象都有类型,特定类型的所有对象可以接收相同的消息。


2.面向对象的优点

(1.)便于程序模拟现实世界中的实体


   用"类"封装建模实体对象的状态和行为


(2.)隐藏细节


   对象的行为和状态被封装在类中,外界通过公开的接口调用类的方法来获得状态信息,不需要关注内部细节如何实现。


(3.)可重用


   可以通过类模板,创建多个对象实例,重用类的定义代码。


3.类和对象的概念、区别和联系

   (1)概念:

       ①类:类是创建对象的模板和蓝图,类是一组类似对象的共同抽象定义(它是一个抽象的概念)


       ②对象:对象是类的实例化的结果(对象是通过类构造出来的),是具体的,是实实在在存在的,代表现实世界的某一事物。


       ③对象的两个关键特性:


           行为:对象能干什么


           状态:对象的属性,行为的结果(一个对象的行为有可能改变一个对象的状态或者属性)


   (2)区别

       ①类是静态定义


       ②对象是动态实例


       ③程序代码操作的是对象而非类


       ④建模得到的是类而非对象


   (3)联系

       ①类是对象的定义(也可以理解为类是对象的数据类型)


       ②对象的产生离不开类这个模板


       ③类存在的目的是实例化得到对象


4.类的建模是一个抽象和封装的过程

       ①抽象:去掉不关注的,次要的信息而保留重要的信息


       ②封装:信息打包,简单来说:将抽象出来的属性和方法包装在一个类中


相关文章
大神们是如何吐槽面向对象编程的
大神们是如何吐槽面向对象编程的
182 0
大神们是如何吐槽面向对象编程的
|
23天前
|
Python
面向对象编程
【8月更文挑战第29天】面向对象编程。
31 3
|
2月前
|
Java 程序员 C++
什么是面向对象编程
【7月更文挑战第17天】什么是面向对象编程
26 2
|
2月前
|
数据挖掘
OOP适合什么场景
【7月更文挑战第17天】OOP适合什么场景
22 1
|
3月前
|
Java C# C++
OOP
【6月更文挑战第25天】
25 3
|
设计模式
对面向对象编程的新认识
对面向对象编程的新认识
五 面向对象编程(中)
五 面向对象编程(中)
28 0
|
Scala 数据安全/隐私保护
第4章 面向对象编程
第4章 面向对象编程
186 0
|
存储 Java 程序员
从001到OOP
世界上第一台计算机是在1946年的情人节诞生的,计算机语言却不知道是什么时候开始形成的,大家都知道计算机是怎么产生的,通俗地讲,是由几根线几个逻辑开关组成的电路,然后根据线的通和断这种二进制的特性来存储数据(可以看看这篇文章:信息中的 0 和 1 ),如果单是学习计算机编程语言,并不要这么深入,我们只需了解。
95 0
从001到OOP
|
Java 程序员 编译器
什么是面向对象编程(OOP)?
什么是面向对象编程(OOP)?
209 0