------- android培训、java培训、期待与您交流! ----------
1:面向对象
面向过程:关注实现问题的步骤。
面向对象:关注实现问题的结果。
不管是面向过程还是面向对象都是解决问题的一种思想。
思想特点:
A:面向对象是一种符合人们习惯的思想
B:把复杂的问题简单化
C:让我们从执行者变成指挥者
面向过程:
注重的解决问题的过程,强调是解决问题的每一个过程完成的功能(就是用函数解决问题)
面向对象:
首先:哪些具体的事物有什么的功能
然后:指挥具有功能的事物做事情
具体的需求解决:
首先:在整个需求中,有哪些具体的事物。
然后:确定事物的具体功能
什么是对象
举例:
A:去旅游
B:买电脑
C:洗衣做饭
D:扇风
问题:把大象装进冰箱分几步。
A:打开冰箱门
B:把大象放进去
C:关闭冰箱门
代码体现:
面向过程:
class Test
{
public static void main(String[] args)
{
//System.out.println("打开冰箱门");
//System.out.println("把大象放进去");
//System.out.println("关闭冰箱门");
open();
in();
close();
}
public static void open()
{
System.out.println("打开冰箱门");
}
public static void in()
{
System.out.println("把大象放进去");
}
public static void close()
{
System.out.println("关闭冰箱门");
}
}
面向对象:
按照给出的三个步骤思考,基本上就符合面向对象思想:
A:分析给出的问题领域有哪些类
B:分析每个类有哪些成员
C:分析类于类之间的关系
分析:
A:把大象装进冰箱分几步。
大象,冰箱,测试类 (名词提取法 -- UML 统一建模语言)
B:大象
进冰箱
冰箱
开门
关门
测试类
main方法
C:在测试类里面,创建大象类对象和冰箱类对象,并调用其功能
class elephant
{
public static void in()
{
System.out.println("把大象放进去");
}
}
class 冰箱
{
public static void open()
{
System.out.println("打开冰箱门");
}
public static void close()
{
System.out.println("关闭冰箱门");
}
}
class Test
{
public static void main(String[] args)
{
大象 d = new 大象();
冰箱 b = new 冰箱();
b.open();
d.in();
b.close();
}
}
ava语言是面向对象的,它是用来模拟现实世界中的事物。
而java语言的最基本的单位是类,所以,事物 -- 类
事物:
外在特征 -- 属性
具备的行为 -- 功能
把事物通过类描述
类:
事物属性 -- 成员变量
事物功能 -- 成员方法
手机:
属性:颜色,大小,品牌
功能:打电话,发短信
类:
成员变量
成员方法
构造方法
class Phone
{
String color;
double size;
String type;
public void call(String name)
{
System.out.println("给"+name+"打电话");
}
public void sendMessage()
{
System.out.println("群发短信");
}
}
如何使用一个类的成员呢?
A:创建类的实例
B:通过实例.成员访问
Phonep = new Phone();
p.call("小明");
p.sendMessage();
类:类是现实世界事务的抽象
对象:是现实世界事务的具体存在的个体
3:封装
隐藏实现细节,提供公共的访问方式。
在java代码中是如何做到一点的呢?用private修饰成员(成员变量和成员方法)
作用域:
变量的作用域在{}内有效。
this关键字:
代表当前类的引用。
使用场景:
A:解决具备变量隐藏成员变量
B:在方法内部,this可以代表一个对象,谁调用代表谁
class Person
{
privateString name;
privateint age;
publicPerson(){}
//可以省略
publicPerson(String name,int age)
{
this.name= name;
this.age= age;
}
publicvoid setName(String name)
{
this.name= name;
}
publicString getName()
{
returnname; //this.name;
}
publicvoid setAge(int age)
{
this.age= age;
}
publicint getAge()
{
returnage;
}
}
给成员变量赋值的方式:
A:通过构造方法(带参构造写与不写都可,但是,无参必须手动给出)
B:通过set方法(推荐)
------- android培训、java培训、期待与您交流! ----------