黑马程序员技术交流社区

标题: day07-08 封装和继承 [打印本页]

作者: Marx_D    时间: 2015-8-15 16:26
标题: day07-08 封装和继承
本帖最后由 Marx_D 于 2015-8-22 08:39 编辑

1.概述
1)封装:隐藏对象的属性和实现细节,仅对外提供公共访问方式。面试的时候可以通俗点,将同一种类型的共同属性和行为放在一个类中,就叫做封装。类、方法和代码块等都是封装的具体体现。
     好处:方便使用,提高安全性,提高复用性(其实就是函数的好处)。不能直接访问属性,必须通过指定的方法

代码体现:
  1. class Student {
  2.         private String name; //定义一个表示名字的成员变量
  3.        public void setName(String name) {
  4.               this.name = name;
  5.        }
  6. }
复制代码


private 仅仅是封装的一种体现,因为。函数等也是封装的体现。

作者: Marx_D    时间: 2015-8-15 16:38
本帖最后由 Marx_D 于 2015-8-22 08:40 编辑

2)继承:多个类存在相同的属性和行为,可以将这内容抽取到一个单独类中,那么多个类就无需再定义这些属性和行为,只要继承那个类就可以了。父类(超类、基类)、子类
  好处:提高代码的复用性;继承的出现让类与类之间产生了关系,提供了前提。
  使用关键字:extends.
<br>
代码体现:
  1. class Person {
  2.       public void show() {
  3.                 System.out.println("method");      
  4.       }
  5. }
  6. //定义一个Student 子类,
  7. class Student extends Person {
  8.      public void function() {
  9.           show(); //使用父类中德show()函数;
  10.     }
  11. }
复制代码











欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2