面向对象 之 封装和继承

本文介绍了类和对象的概念,强调了类作为模板和对象为具体实现的角色。讲解了封装的重要性,包括封装的定义、作用、特性及优点,以及如何通过访问控制和继承提高代码复用性和维护性,同时讨论了继承的单例特性和可能带来的耦合问题。
摘要由CSDN通过智能技术生成

一 类

类将现实世界中的概念模拟到计算机程序中

        什么是类?


                类其实是个模板,是一个具有共同特点的集合。比如说饮料:都有包装,都有颜色,都

有味道,都是被喝的东西。这些都行都是抽象出来的属性和行为。

        类之间允许相互调用,不需要知道方法的具体实现,实现重用,提高效率

        类的构成:


                类是由抽象出的属性和行为组成的对一种实物的描述,实物的属性是类的成员变量,实

物的行为是类的方法。

        类的概念 :


                类的实质是一种数据类型,类似于int、char等基本类型,不同的是它是一种复杂的数据

类型。因为它的本质是类型,而不是数据,所以不存在于内存中,不能被直接操作,只有被实例化

为对象时,才会变得可操作。

二、对象


        对象的概念  :


                现实世界中任何物体都能被当作是对象,不过在正常开发的时候通常只是在一定的范围

去考虑和认识与系统相关的事物并用系统中对象抽象的表示它们。

                在一个类的构造方法执行完成后,它的对象才能被创建出来

        使用对象的步骤


                创建对象

                        类名 对象名 = new  类名();

        引用对象成员:使用“.“进行以下操作

                引用类的属性:对象名.属性

                引用类的方法:对象名.方法名()

对象和类的关系:

        类是物体属性和行为的模板

        对象是物体的具体实现

三、封装


        封装的概念


                在面向对象程式设计方法中,封装是指一种将抽象性函数式接口的实现细节部分包装、隐藏起来的方法。

                封装可以被认为是一个保护屏障,防止该类的代码和数据被外部类定义的代码随机访问。

                要访问该类的代码和数据,必须通过严格的接口控制。

        封装的作用:


                封装最主要的功能在于我们能修改自己的实现代码,而不用修改那些调用我们代码的程序片段。

                适当的封装可以让程式码更容易理解与维护,也加强了程式码的安全性。

         封装的三大特性:


                隐私,安全,赋值与取值

        封装的优点:


                减少耦合,可重用性    ------>封装业务

                精确控制,安全性       ------>封装数据

        封装的步骤:


                第一步:修改属性的可见性来限制对属性的访问

                第二步:对每个值属性提供对外访问的方法,创建一对取赋值方法

                第三步:实现封装

四、修饰符


        访问控制修饰符
                Java中,可以使用访问控制符来保护对类、变量、方法和构造方法的访问。Java 支持 4

种不同的访问权限。例如:默认访问修饰符、私有访问修饰符-private、公有访问修饰符-public、

受保护的访问修饰符-protected。

        非访问修饰符
                为了实现一些其他的功能,Java 也提供了许多非访问修饰符。例如:static 修饰符、

final 修饰符、abstract 修饰符、synchronized 和 volatile 修饰符

五、继承 


        继承的概念:


               继承是java面向对象编程技术的一块基石,因为它允许创建分等级层次的类。

                继承就是子类继承父类的特征和行为,使得子类对象(实例)具有父类的实例域和方

法,或子类从父类继承方法,使得子类具有父类相同的行为。

        继承的作用:


                子类拥有父类的属性和方法,减少重复的代码,维护性高。

                代码简洁,提高了代码的复用性。

        继承关键字:


                class——定义类

                interface——定义接口

                extends——继承父类

                implements——实现接口

        继承的特性:


                子类拥有父类非 private 的属性、方法

                子类可以拥有自己的属性和方法,即子类可以对父类进行扩展

                子类可以用自己的方式实现父类的方法

                提高了类之间的耦合性(继承的缺点,耦合度高就会造成代码之间的联系越紧密,代码独立性越差)

                Java 的继承是单继承,但是可以多代继承,单继承就是一个子类只能继承一个父类,多重继承就是,例如 A 类继承 B 类,B 类继承 C 类,所以按照关系就是 C 类是 B 类的父类,B 类是A 类的父类,这是 Java 继承区别于 C++ 继承的一个特性

        继承的优点:


                 提高代码的复用性

                        子类中重复的代码只需要在父类中写一遍,所有子类都可以应用

                提高代码的可维护性

                        只需要修改父类属性和方法,所有的子类都会应用

                提高类和类之间的关联性,为多态做基础

                        其实这也是继承的缺点,增加了类和类之间的耦合度,耦合度的增加意味着后期扩展性的降低

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值