Java 面向对象四大特性

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/Cute_Code/article/details/80555070

Java 面向对象四大特性

1.抽象  2.封装  3.继承   4.多态

1.抽象。抽象就是将一些事物的共性和相似点抽离出来,并将这些属性归为一个类,简单理解是:将需要解决的事情抽象成Java代码。

2.封装。封装是为了隐藏内部实现细节,是保证软件部件具有优良的模块性的基础。封装的目标就是要实现软件部件“高内聚,低耦合”,防止程序之间的相互依赖性带来的变动影响。Java中private关键字是封装一个重要的部分,因为private定义的变量或方法只能在内部使用,其他类不可直接使用,就好像一台电脑中的元器件从表面看是不可见的,从而体现Java的封装性。

3.继承。在定义和实现一个类的时候,可以在一个已经存在的类的基础之上来进行,把这个已经存在的类所定义的内容作为自己的内容,并可以加入若干新的内容,或修改原来的方法(Override,重写方法)使之更适合特殊的需要,这就是继承。继承是子类自动共享父类数据和方法的机制,这是类之间的一种关系,提高了软件的可重用性和可扩展性。简单理解是:一些类的共同特性抽取到一个基类,然后这些类通过继承而获得原有的特性,而基类没有的特性,则可以在类中创建新的。

4.多态。多态是运行时刻接口匹配的对象相互替换的能力。指程序定义的引用变量所指向的具体类型和通过该引用变量发出的方法调用在编译期并不确定,而是在程序运行期间才确定(称之为动态绑定),即一个引用变量指向的是哪个类的实例对象,在编译期间并不确定,在运行阶段才能决定,因此,这样就可以使得引用变量绑定到各种不同的类实现上,从而实现不同的行为。多态性增强了软件的灵活性和扩展性。例如:

 
 
/**
动物类
*/
public class Animal{
   //吃
   protected void eat()
    {
    }
   //发出声音
   protected void voice()
    {
    }

}
猫类继承动物类
 
   
/**
 猫类
*/
public class Cat extends Animal{
   protected void eat(){
   System.out.prinln("猫爱吃鱼");
   }

   protected void voice(){
   System.out.println("喵喵喵");
   }
}


/**
 狗类
*/
public class Dog extends Animal{
   protected void eat(){
   System.out.prinln("狗爱吃骨头");
   }

   protected void voice(){
   System.out.println("汪汪汪");
   }
}


多态的呈现
public static void main(String []args)
{
    Animal ani=new Cat();
   
    ani.eat();

    ani =  new Dog();

    ani.eat();
}


打印结果为:  猫爱吃鱼
                       狗爱吃骨头

上述的栗子中通过ani 引用重新指定对象,调用eat()方法,却打印出来不同的结果,这就是多态。当然这只是简单的栗子,更深入的理解需要大家在项目中不断的应用思考。


我的个人网站:美好礼物屋    我的个人APP: 腾讯应用宝APP下载







猜你喜欢

转载自blog.csdn.net/Cute_Code/article/details/80555070
今日推荐