黑马程序员-关于面向对象的个人总结
来源:互联网 发布:厦门楼市每日成交数据 编辑:程序博客网 时间:2024/04/29 15:32
------- 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培训、期待与您交流! ----------
- 黑马程序员-关于面向对象的个人总结
- 黑马程序员-java 面向对象【个人总结】
- 黑马程序员_关于面向对象的个人理解
- 【黑马程序员】关于java面向对象的总结
- ”黑马程序员“关于面向对象的归纳总结
- 黑马程序员--03.Java面向对象--05.子类对象初始化的过程【个人总结】
- 黑马程序员--03.面向对象--02.子类和父类成员变量的关系【个人总结】
- “黑马程序员"关于面向对象
- 黑马程序员 面向对象总结
- 黑马程序员-面向对象总结
- 黑马程序员-面向对象总结
- 【黑马程序员】面向对象总结
- 黑马程序员--03.面向对象--03.子类父类方法重写和覆盖的理解【个人总结】
- 面向对象的个人总结
- 黑马程序员--03.面向对象--01.静态方法调用非静态成员【个人总结】
- 黑马程序员——高新技术 关于面向对象的理解
- 黑马程序员_面向对象的学习总结
- 黑马程序员-java面向对象的概念及封装总结
- VC++使用Soap ToolKit3.0调用WebService接口
- C99 高级宏定义
- hdu 3934 Summer holiday(凸包最大内接三角形)
- request 获得请求ip信息
- HDU4006-优先队列
- 黑马程序员-关于面向对象的个人总结
- Java NIO与IO的区别和比较
- SQLite使用总结1_输入命令
- Java桥梁模式
- Firefly Game Server Framework 介绍!
- MFC之SetTimer的使用
- java中String的常用方法
- Android 如何适应屏幕大小
- 循环的使用方法及概念-----黑马程序员