码迷,mamicode.com
首页 > 其他好文 > 详细

面向对象

时间:2020-05-14 21:04:02      阅读:85      评论:0      收藏:0      [点我收藏+]

标签:本质   ade   接口   get   重写   idea   对象   不同   操作   

面向对象编程

面向对象

面向对象的本质就是:以类的方式组织代码,以对象的组织(封装)数据。

面向对象就是一个框架,具体实施还是靠面对过程(即方法)。


三大特性:

封装;

继承;

多态。


从认识的角度:

先有对象(实例)后有类(后抽象出一个类)。对象,是具体的事物。类,是抽象的,是对对象的抽象。

例子:

先有小明、小红、小强这样的学生,再有学生类Student。


从代码运行的角度:

先有类后有对象,类是对象的模板。


静态方法和动态方法

加 了static之后的静态方法,是跟类一起加载的,可以直接调用;而没有加static的动态方法,实际上只是做了一个声明,需要实例化之后才能调用。


构造器

构造器名字和类名一样。

作用:1、可以实例化属性的初始值,不让其为null,0等默认值;

            2、使用new关键字,本质是在调用构造器;

注意:如果定义了一个有参构造器,如果需要用一个无参构造,必须显示的定义一个无参构造(即默认生成的构造器无用);在IDEA中构造器生成快捷键Alt+insert。


封装

程序设计追求“高内聚,低耦合”,高内聚就是类的内部数据操作细节自己完成,不允许外部干涉;低耦合,仅暴露少量的方法给外部使用。

代码方面记住:属性私有    get/set。

作用:1、提高程序的安全性,保护数据

2、隐藏代码的实现细节

3、统一接口

4、系统可维护增加了


Super函数

1、super调用父类的构造方法,必须在构造方法的第一个

2、super必须只能出现在子类的方法或者构造方法中

3、super和this不能同时构造方法

VS this:

代表的对象不同:

this:本身调用者这个对象

super:代表父类对象的应用

前提:

this:没有继承也可以使用

super:只能在继承条件才可以使用

构造方法:

this:本类的构造;

super:父类的构造。


多态

父类引用类型指向子类对象,但是父类引用的对象只能得到只属于父类的属性和方法,以及子类所重写的方法。

理解:对子类进行类型转换,Father (Son) a=new Son();  类似于 float (int) a = 10

注意事项:

1、多态是方法的多态,属性没有多态。

2、父类和子类,有联系  类型转换异常!

3、存在条件:继承关系,方法需要重写,父类的引用指向子类对象! Father f1=new Son()


多多练习,即可理解!!!


接口

接口:只有规范,自己无法写方法;在公司编程也就是面向接口编程(码农)。

接口本质是契约,即人间的法律,大家都能遵守。

//接口都需要实现类
public interface UserService {
   void run();
   void shabi(String name);
}
//抽象类 extends 单继承
//接口可以实现伪多继承
//实现类 里需要重写接口的方法,即实现具体的功能
public class UserServiceImpl implements UserService,Timer {
   @Override
   public void run() {
?
  }
?
   @Override
   public void timer() {
?
  }
?
   @Override
   public void shabi(String name) {
?
  }
}
?

 

面向对象

标签:本质   ade   接口   get   重写   idea   对象   不同   操作   

原文地址:https://www.cnblogs.com/lee-leo/p/12891312.html

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