Skip to Content
面向对象的思考过程(原书第5版)
book

面向对象的思考过程(原书第5版)

by 马特 魏斯费尔德
August 2021
Intermediate to advanced
450 pages
4h 46m
Chinese
Pearson
Content preview from 面向对象的思考过程(原书第5版)

7.4 为什么封装是面向对象的本质

封装是面向对象的本质概念。在谈接口/实现范式时其实都在谈封装。根本问题是对于一个类而言,它应该暴露什么信息,不该暴露什么信息。封装等同于数据和行为。当讨论类时,主要的设计决策是将数据和行为封装到编写好的类中。

Stephen Gilbert和Bill McCarty将封装定义为:“打包程序的过程,将其中的类分为两个不同的部分:接口和实现。”本书中我们在不断传达这样的信息。

但是封装和继承是什么关系,以及和本章又有什么关系?这看起来是面向对象的一个悖论。封装是面向对象的本质,所以它是面向对象设计的基本原则之一。继承也是三个主要的面向对象概念之一。然而,继承在某种方式上实际上破坏了封装!怎么会这样呢?是不是三个面向对象中的主要概念中其中两个可能是不兼容的呢?让我们探讨这种可能性。

Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.

Read now

Unlock full access

More than 5,000 organizations count on O’Reilly

AirBnbBlueOriginElectronic ArtsHomeDepotNasdaqRakutenTata Consultancy Services

QuotationMarkO’Reilly covers everything we've got, with content to help us build a world-class technology community, upgrade the capabilities and competencies of our teams, and improve overall team performance as well as their engagement.
Julian F.
Head of Cybersecurity
QuotationMarkI wanted to learn C and C++, but it didn't click for me until I picked up an O'Reilly book. When I went on the O’Reilly platform, I was astonished to find all the books there, plus live events and sandboxes so you could play around with the technology.
Addison B.
Field Engineer
QuotationMarkI’ve been on the O’Reilly platform for more than eight years. I use a couple of learning platforms, but I'm on O'Reilly more than anybody else. When you're there, you start learning. I'm never disappointed.
Amir M.
Data Platform Tech Lead
QuotationMarkI'm always learning. So when I got on to O'Reilly, I was like a kid in a candy store. There are playlists. There are answers. There's on-demand training. It's worth its weight in gold, in terms of what it allows me to do.
Mark W.
Embedded Software Engineer

You might also like

Node与Express开发(第2版)

Node与Express开发(第2版)

Ethan Brown
手把手教会你linux

手把手教会你linux

桑德.范.乌格特
Java并发编程实战

Java并发编程实战

Brian Goetz, Tim Peierls

Publisher Resources

ISBN: 9787111684527