オブジェクト指向
プロセス指向(ポップ)
特定の実装手順を段階的に分析する
オブジェクト指向(oop->オブジェクト指向プログラミング)
分類された方法で問題を考えて解決し、全体として物事を分析して分類します
ケース:象を冷蔵庫に入れます
プロセス指向の考え方
1.冷蔵庫のドアを開けます
2.象を詰め込みます
3.冷蔵庫のドアを閉めます
オブジェクト指向思考
デザインカテゴリー:
1.人間(荷物を積む)
2.象
3.冷蔵庫(物を保管するため)
4.ドア(ドアを開ける、ドアを閉める)
オブジェクト指向もプロセス指向と切り離せないものであり、特定の詳細の実装は依然としてプロセス指向です。
Javaクラス
クラスは、クラスオブジェクト(オブジェクト)の共通の属性と特性を定義し、この情報を記録するためのファイル(.javaクラス)を作成するテンプレートです。
クラス定義:
クラスの構造:
変数:物事の特性の説明;
方法:物事の振る舞い;
構築方法:オブジェクトの作成に使用されます。
内部クラス:クラス本体で宣言されたクラス。
ブロック:名前のないコードブロック
デザインカテゴリ:
1.クラスの文法を発見する
2.クラスの属性、特性、および変数を定義します
3.クラスの動作、関数、およびメソッドを定義します
/**
* 发现类
* [访问权限修饰符] [修饰符] class(定义类) 类名 {
* 变量:事物属性的描述;
* 方法:事物的行为;(可以做的事情)
* 构造方法:用于创建对象;
* 内部类: 即在类体中声明的类。
* 块:一段没有名称的代码块
* }
* 访问修饰符有两种 public 或者 不写
* 修饰符: final , abstract
* 类名: 类名首字母大写,见名知意,驼峰表示
*/
public class People {
/**
* 发现共有属性
* 成员变量定义
* [访问权限修饰符] [修饰符] type 变量名;
*/
String name;
String sex;
int age;
/**
成员方法
人有睡觉吃饭学习等行为
[访问权限修饰符] [修饰符]/void 方法名(参数类型 参数名){
sout();
[return 返回值;]
}
*/
/*睡觉的方法*/
public void Sleep() {
System.out.println(name + "说费觉觉");
return;
}
/* 吃饭的方法*/
public void Eat() {
System.out.println(name + "说开饭了,冲冲冲");
}
/*学习的方法*/
public void Study() {
System.out.println(name + "说一秒不学习,浑身难受");
}
}
Javaオブジェクト
オブジェクトはクラスのインスタンスであり、クラスによってテンプレートとしてメモリに作成された実際のインスタンスです。
オブジェクトは実際には具体的な存在のインスタンスであり、オブジェクトの作成はオブジェクトをインスタンス化することです
/*
类定义好后,是一个文件,但不能使用
以类为模板创建对象,对象是实例,视具体存在的,可以被使用
People cui = new People();
new + People 类的构造方法,在内存中创建一个具体的对象
People cui 以People类为类型声明一个变量cui
= 让cui变量 指向(引用)内存中的对象
cui.name = "张三";
使用cui变量 . 调用对象中的属性(变量)\行为(方法)
*/
People zhang = new People();
zhang.name = "张三";
zhang.age = 21;
zhang.sex = "男";
System.out.println("姓名:" + zhang.name + "\t性别:" + zhang.sex + "\t年龄:" + zhang.age);
zhang.Eat();
zhang.Sleep();
zhang.Study();
変数分類
データ型で分割:
基本タイプ:8タイプ
参照データ型:型としてのクラス、配列
場所による分類:
メンバー変数:物事のプロパティ
メソッド本体の外部のクラスで定義されます
Javaでサポートされているすべてのデータ型を使用できます
値を初期化して割り当てる必要はありません。オブジェクトを作成するとき、仮想マシンはデフォルトで値を割り当てます。
String:null char: "" int:0ブール値:false
メンバー変数はメンバーメソッドでアクセスできます
ローカル変数:物事の振る舞い
メソッド、コンストラクター、およびコードブロックで定義され、すべてのデータ型をサポートします
使用する前に割り当てを初期化すると、メソッドが終了した後に変数が破棄されます
メソッド分類
メンバー方式
/*
成员方法
[访问权限修饰符] [修饰符] [返回值类型]/void 方法名(参数类型 参数名){
语句块
[return 值]
}
*/
public void Sleep() {
System.out.println(name + "说费觉觉");
return;
}
//int day,String deep 方法参数也是局部变量
public void Play(int day,String deep){
System.out.println(name+deep+"使劲玩");
}
People zhang = new People();
//成员方法必须通过对象调用
zhang.Sleep();
zhang.Play(22222,"哈哈哈哈");