封装性介绍(面向对象编程三大特性)

前言:

经常有小伙伴学习编程到面向对象阶段的时候,会感觉到非常的困惑,以往学习的编程知识点,结合了面向对象思想后,反而变得无从适应!

这种现象是非常正常的,包括鸟叔自己也遇到过。初学语法的时候,写一些程序还是感觉到很顺利的,但学了面向对象之后,突然变得不会写程序了,那些学过的知识点,变得无处安放

封装性介绍(面向对象编程三大特性)

而面向对象作为诸多企业生产的主导思想,是作为开发人员掌握的必备知识体系之一。

面试的时候,也会作为高频的知识点进行考核,所以这座山我们还是必须要翻过去的!

封装性介绍(面向对象编程三大特性)

接下来让我们先从面向对象的概念入手:

什么是面向对象:

首先明确一个观点,面向对象是一种编程的思想,它并不属于某一种语言!

例如:学习政治的时候,我们了解到有的国家是采用资本主义作为指导思想,有的国家则采用社会主义作为指导思想。

面向对象的核心是抽象,万事万物皆对象!它的设计的目的是,让我们能够以描述现实世界的方式,去构建虚拟世界。

封装性介绍(面向对象编程三大特性)

例如:淘宝的模型按照面向对象的方式进行设计,那么就是商家、买家、产品这三大类之间的关系。

这个大类就是宏观的抽象,而每一大类都包含了数量庞大的具体实例,这个实例我们称之为对象,对象则是大类的一个具体实例。

有一句说:“艺术是源于生活,但不高于生活”,那么套用到编程中道理也是如此的,用人类擅长的表述方式,进行程序世界的编写,才是最通俗易懂的!

封装性介绍(面向对象编程三大特性)

接下来我们一起学习下,面向对象三大特性之一的封装性:

封装性:

在这里鸟叔给大家举一个生活中的例子来秒懂封装性!例如:你刚入手了一台心爱的汽车,这时候好朋友管你借车,你肯定会设置一些规则,比如:不能超速、不能拉货、不能去越野、不能再借给他人等等。

也就是说外界必须按照你设置好的规则来访问你的资源!封装性的概念就是如此,可以看到我们编程的世界,犹如现实世界一般。

封装性介绍(面向对象编程三大特性)

面向对象的核心任务就是类的设计,然后通过类进行无数实例的创造。那么如何实现封装性呢?

仅需两个步骤即可:

1.我们在构建类的时候,可以通过private私有访问修饰符对成员变量进行修饰!这样成员就无法被外界直接的访问。

2.然后我们再为每一个成员变量编写赋值与取值的方法,方法采用见名知意的命名方式,一般用Get与Set结合变量名即可,我们将访问的规则在方法中编写就可以了。

封装性介绍(面向对象编程三大特性)

编写一个实例,需求构建人类,有名字、年龄俩个字段,如果名字为空,则设置为狗剩子,如果年龄不合法,设置默认值18岁。

不使用封装性的情况:虽然可以满足数据类型的设置规则,程序没有出现编译错误,但这种名字赋值为空,年龄设置为10086,是完全不符合常理的!

封装性介绍(面向对象编程三大特性)封装性介绍(面向对象编程三大特性)

使用封装性后:将成员变量设置访问规则,外界调用者按照规则进行资源的访问操作。

classPerson
{
privatestringname;privateintage;publicvoidSetName(stringname)
{if(string.IsNullOrEmpty(name))
{this.name="狗剩子";
}else
{this.name=name;
}
}publicstringGetName()
{returnthis.name;
}publicvoidSetAge(intage)
{if(age<0||age>150)
{this.age=18;
}else
{this.age=age;
}
}publicintGetAge()
{returnthis.age;
}
}

封装性介绍(面向对象编程三大特性)封装性介绍(面向对象编程三大特性)

所以一下:

虽然项目中这种写法处于忽略状态,但可以通过封装性的学习,进一步的了解下面向对象的设计思想。作为经典的程序开发思想,还是非常值得去不断地揣摩与研究的。

(40)
打赏 微信扫一扫 微信扫一扫
上一篇 2023年12月2日
下一篇 2023年12月2日

相关推荐

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请联系我们,一经查实,本站将立刻删除。