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
(#换成@)。