封装与继承

封装:

 封装是实现面向对象程序设计的第一步,封装就是将数据或函数等集合在一个个的单元中(我们称之为类)。被封装的对象通常被称为抽象数据类型。 

 封装的意义:
  封装的意义在于保护或者防止代码(数据)被我们无意中破坏。在面向对象程序设计中数据被看作是一个中心的元素并且和使用它的函数结合的很密切,从而保护它不被其它的函数意外的修改。

1. 保护数据成员,不让类以外的程序直接访问或修改,只能通过提供的公共的接口访问==>数据封装。

2. 方法的细节对用户是隐藏的,只要接口不变,内容的修改不会影响到外部的调用者==>方法封装。 

3. 当对象含有完整的属性和与之对应的方法时称为封装。

4. 从对象外面不能直接访问对象的属性,只能通过和该属性对应的方法访问。

5. 对象的方法可以接收对象外面的消息。

继承:

继承主要实现重用代码,节省开发时间。

1、java中的继承符合下列规则:

    1. 继承是可传递的。如果C从B中派生,B又从A中派生,那么C不仅继承了B中声明的成员,同样也继承了A中的成员。Object类作为所有类的基类。

    2. 派生类应当是对基类的扩展。派生类可以添加新的成员,但不能除去已经继承的成员的定义。

    3. 构造函数和析构函数不能被继承。除此之外的其它成员,不论对它们定义了怎样的访问方式,都能被继承。基类中成员的访问方式只能决定派生类能否访问它们。

    4. 派生类如果定义了与继承而来的成员同名的新成员,就可以覆盖已继承的成员。但这并不因为这派生类删除了这些成员,只是不能再访问这些成员。

    5. 类可以定义虚文法、虚属性以及虚索引指示器,它的派生类能够重载这些成员,从而实现类可以展示出多态性。

  2、new关键字

   如果父类中声明了一个没有friend修饰的protected或public方法,子类中也声明了同名的方法。则用new可以隐藏父类中的方法。(不建议使用)

  3、base关键字

   base 关键字用于从派生类中访问基类的成员:

    1. 调用基类上已被其他方法重写的方法。

    2. 指定创建派生类实例时应调用的基类构造函数。

封装:概念:简单来说,就是在给属性进行过滤性赋值,减少不必要的赋值。
         举例:属性-班级名次 就没有负数的名次,这时我们就可以利用封装来给属性赋值来进行约束。
         使用:在属性类型前加private  例如:private int num;
               再用public void setNum(这里的方法名就是set加成员变量名)(int num){}来赋值,用public                int getNum(){return num;}来取值。
   继承:概念:将相同的成员变量和方法写到父类,子类继承父类,还可以加上子类独有的属性,减少冗余代码。
         举例:儿子继承父亲的一些特征和手艺,儿子还可以有自己的特征。
         使用:子类名+extends+父类名
               用super()方法名来调用父类中的方法。
         注意:一个子类只能继承一个父类,一个父类可以被多个子类继承。

1.继承概念
   super    代表父类
   this     代表本类
   子类  extends  父类
2.继承关系初始化顺序。
   父类属性--》父类的构造方法--》子类属性--》子类的构造方法
   先父后子
   先属后构

封装就是把普通的对象进行封装,对象的属性设为私有的,对外提供get和set方法,其他类只能通过get和set对对象属性值进行操作。继承是发生在两个类之间,一个类继承另一个类是说这个类属于另一个类,具有另一个类的所有属性和方法,同时它还可以有另一个类不具备的方法和属性。多态是建立在继承的基础上的,一个父类对象可以产生多个不同的子类对象,根据这些子类对象的不同可以具备不同的方法,也就是说表现出了不同的形态即多态

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值