你的位置:首页 > 软件开发 > Java > 黑马程序员系列第六篇 面向对象基础

黑马程序员系列第六篇 面向对象基础

发布时间:2015-11-19 11:00:34
ASP.Net+Android+IOS开发 、Net培训、期待与您交流! (前言:本篇文章主要依据毕向东老师的课程视频整理而成,如要详细学习,请观看毕老师视频 百度网盘链接地址:http://pan.baidu.com/s/1mgngVl2) 目录:1、面向对 ...

ASP.Net+Android+IOS开发  、Net培训、期待与您交流!

 

(前言:本篇文章主要依据毕向东老师的课程视频整理而成,如要详细学习,请观看毕老师视频  百度网盘链接地址:http://pan.baidu.com/s/1mgngVl2)

 

目录:1、面向对象三大特性    2、类和对象    3、内部类  

 

1、面向对象三大特性    封装、继承、多态

封装

  概念:是指隐藏对象的属性和实现细节,仅对外提供公共访问方式。 

  好处:将变化隔离;便于使用;提高重用性;安全性。 

  封装原则:将不需要对外提供的内容都隐藏起来,把属性都隐藏,提供公共方法对其访问。  

继承

  好处:子类将得到基类中的所有域和方法,提高了代码的复用性;让类与类之间产生了关系,提供了另一个特征多态的前提。

多态

简单例子:父类引用或者接口的引用指向了自己的子类对象。//Animal a = new Cat(); 

多态的好处:提高了程序的扩展性。 

多态的弊端:当父类引用指向子类对象时,虽然提高了扩展性,但是只能访问父类中具备的方法,不可以访问子类**有的方法。(前期不能使用后期产生的功能,即访问的局限性) 

多态的前提: 1:必须要有关系,比如继承、或者实现。    2:通常会有覆盖操作。  

 

关于基于继承的多态的一个代码示例

 1 /* 2 对象的多态性:动物 x = new 猫(); 3 函数的多态性:函数重载、重写 4  5 1、多态的体现 6     父类的引用指向了自己的子类对象 7     父类的引用也可以接收自己的对象 8 2、多态的前提 9     必须是类与类之间只有关系,要么继承或实现10     通常还有一个前提,存在覆盖11 3、多态的好处12     多态的出现大大的提高了程序的扩展性13 4、多态的弊端14     只能使用父类的引用访问父类的成员15 5、多态的应用16 17 6、注意事项18 */19 20 /*21 需求:22 猫,狗。23 */24 25 abstract class Animal26 {27   abstract void eat();28 }29 30 class Cat extends Animal31 {32   public void eat()33   {34     System.out.println("吃鱼");35   }36   public void catchMouse()37   {38     System.out.println("抓老鼠");39   }40 }41 42 class Dog extends Animal43 {44   public void eat()45   {46     System.out.println("吃骨头");47   }48   public void kanJia()49   {50     System.out.println("看家");51   }52 }53 54 class DuoTaiDemo55 {56   public static void main(String[] args)57   {58     function(new Cat());59     function(new Dog());60     61     Animal a = new Cat();//向上转型62     a.eat();63     64     Cat c = (Cat)a;//向下转型65     c.catchMouse();66     67     68   }69   70   public static void function(Animal a)71   {72     a.eat();73     //用于子类型有限74     //或判断所属类型进而使用其特有方法75     if(a instanceof Cat)76     {77       Cat c = (Cat)a;78       c.catchMouse();79     }80     else if(a instanceof Dog)81     {82       Dog c = (Dog)a;83       c.kanJia();84     }85   }86   87   88 }  

原标题:黑马程序员系列第六篇 面向对象基础

关键词:面向对象

*特别声明:以上内容来自于网络收集,著作权属原作者所有,如有侵权,请联系我们: admin#shaoqun.com (#换成@)。