麦麦脆汁鸡

导航

面向对象(1)

面向过程&面向对象

面向过程思想

  • 步骤清晰简单,第一步做什么,第二步做什么......

  • 面向过程适合处理一些较为简单的问题

面向对象思想

  • 物以类聚,分类的思维模式,首先思考解决问题需要怎么分类,然后对分类进行单独思考。最后,对某个分类下的细节进行面向过程的思索。

  • 面向对象适合处理复杂问题,适合处理需要多人协作的问题。

 

  • 对于描述复杂的事物,为了从宏观上把握、从整体上合理分析,我们需要使用面向对象的思路来分析整个系统。但是,具体到微观操作,仍然需要面向过程的思路去处理。

 

 

什么是面向对象

  • 面向对象编程(OOP)

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

  • 抽象

  • 三大特性:

    封装

    继承

    多态

  • 从认识论角度考虑是先有对象后有类。对象,是具体的事物。类,是抽象的,是对对象的抽象。

  • 从代码运行的角度考虑是先有类后有对象,类是对象的模板。

 

 

方法的调用

静态方法
public static void main(String[] args) {

   Student.say();
}


//学生类
public class Student {

   //静态方法   static
   public static void say(){
       System.out.println("学生说话了");
  }
}
非静态方法
public static void main(String[] args) {

   //对象类型 对象名 = 对象值;
   Student student = new Student();

   student.say();
}


//学生类
public class Student {

   //非静态方法   没有static
   public void say(){
       System.out.println("学生说话了");
  }
}
  • 静态方法只能调用静态方法,非静态方法可以调用静态方法。

 

值传递
//值传递
public class Demo04 {
   public static void main(String[] args) {

       int a = 1;
       System.out.println(a);

       Demo04.change(a);
       System.out.println(a);
  }

   public static void change(int a){  //返回值为空
       a = 10;
  }
}

1

1

 

引用传递
//引用传递:
public class Demo05 {
   public static void main(String[] args) {
       Person person = new Person();
       System.out.println(person.name);

       Demo05.change(person);
       System.out.println(person.name);
  }

   public static void change(Person person){  //返回值为空
       person.name = "qyt";
  }
}

//定义了一个Person类,有一个属性:name
class Person{
   String name;
}

posted on 2022-03-05 22:32  麦麦脆汁鸡  阅读(16)  评论(0编辑  收藏  举报