码迷,mamicode.com
首页 > 编程语言 > 详细

java面向对象

时间:2018-08-14 22:02:18      阅读:165      评论:0      收藏:0      [点我收藏+]

标签:交互   package   作用   耦合度   复用   ota   person   管理   new   

面向对象就是将现实世界中的事或者物转换到计算机中的事或物,将现实世界中的物或事抽象出来就是类,而对象就是具体的事或物。简单来说类是一个模板,将现实世界中的事物抽象出来。而对象是类的实例化,具体化,用来装载数据。 面向对象的三大特征:继承,封装,多态。 1、封装: a、形式上将对象的数据和行为组织在一个类中,实现了信息的隐藏 b、决不能让类中的方法访问其他类的数据,程序通过对象的方法和对象的数据进行交互 c、赋予对象“黑盒”的特征,提高了对象的可重用性和可靠性。意味着哪怕一个类全面改变存储数据的方式,只要仍旧使用相同的方法操作数据,其他对象就不会知道或不介意所发生的变化。 2、继承:以封装为基础,实现了代码的的复用,继承充分展现了代码的复用性。 继承通过extends关键字来实现。所有非object类的父类都是Object类,没有继承的默认父类是Object类。java只支持单继承,好处是父类与子类的关系容易管理,但是这样也增加了类与类之间的耦合度,违反了软件设计原则(高内聚,低耦合)例如c++支持多继承,父子类之间的关系难以管理。坏处就是有时候某些子类需要继承多个类,但是java并不支持,为了弥补这种缺点,java引入了接口,多态在一定程度上也可以解决这种问题。 继承只能继承父类非私有的东西(属性和方法)注意,子类不是拥有父类的东西,只是对父类的东西具有访问权限。在类加载的时候会首先加载父类,因此创建子类对象之前会先创建父类对象,在调用子类构造的时候会首先调用父类构造。 3、多态:顾名思义就是对象的多种型态。 多态的判断标准:多态就是以继承为基础,子类重写父类的方法,然后将子类的引用赋给父类,通过父类的引用调用子类的方法。 ①多态分为:引用多态和方法多态。 ②引用多态:父类的引用可以指向本父类的对象、父类的引用可以指向子类的对象。 ③方法多态:创建父类对象时,调用的方法为父类的方法;创建子类对象时,调用的方法为子类重写的方法或者继承的方法。 ④存在多态的必要条件:继承、重写。 ⑤多态的作用是消除类型之间的耦合关系。 在实际项目开发中,A类继承B类,如果在A类中不重写B类的方法的时候,输出的仍旧是B类方法里面的信息(B b=new A());如果在A类中重写B类的方法的时候,输出的是A类方法里面的信息(B b=new A())。 多态一个简单的例子: package com.tedu.oop; public class Person { private String name; private int age; public Person(String name,int age) { this.name=name; this.age=age; } public void eat() { System.out.println("吃饭"); } } package com.tedu.oop; public class Student extends Person{ private String stuNo; public Student(String name, int age,String stuNo) { super(name, age); this.stuNo=stuNo; // TODO Auto-generated constructor stub } public void eat() { System.out.println("学生在吃饭"); } } package com.tedu.oop; public class DuoTaiTest { public static void main(String[] args) { Person p=new Student("张三", 20, "123"); p.eat(); } } 运行结果:学生在吃饭 关于多态最重要的就是继承和重写,对于重写后不同的子类方法,不同的父类的对象调用相同的方法就能表现出不同的状态。 类与类之间的关系 继承 is-a关系 组合has--a关系,在一个类中使用另一个类的引用 依赖use--a关系,在一个类的方法中引用另一个类。 软件开发的七大原则之一:多用组合,少用组合,因为继承类与类之间的关系耦合度增加,而组合能降低类与类之间的耦合度。

java面向对象

标签:交互   package   作用   耦合度   复用   ota   person   管理   new   

原文地址:https://www.cnblogs.com/xgdbk/p/9477899.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!