面向对象笼统吗?不,10分钟搞定

术语

面向对象编程: OOP标签1, Object-oriented Programming

面向对象设计: OOD, Object-oriented Design

面向对象分析:OOA,Object-Oriented Analysis

Java语言是面向对象的编程语言.C语言是面向过程的编程语言.

什么是类(class关键字修饰)

现在我们可以在JAVA程序中表示一个数字, 表示一个字, 表示"是"或"否", ...

问: 如何表示一只狗? 如何表示一个商品? 如何表示一个订单?

int num; // 只能表示一个数字

// 第一只狗

String dogName = "xiaohei";

int dogAge = 2;

String dogColor = "black";

double dogPrice = 500;

// 第二只狗

String dog2Name = "xiaobai";

int dog2Age = 1;

String dog2Color = "white";

double dog2Price = 600;

Dog d面向对象笼统吗?不,10分钟搞定og1;

dog1.Name = "xiaohei";

dog1.Age = 2;

dog1.Color = "black";

dog1.Price = 500;

Dog dog2;

dog2.Name = "xiaobai";

dog2.Age = 1;

dog2.Color = "white";

dog2.Price = 600;

结论: 这里的Dog就是类, 类是类型, 类别, 是模板。如果你是初学者,那么你就只需要关注是否有class关键字修饰。

什么是对象(object)

一个类别中可能含有很多的个体, 这样的个体称为对象。

上述标签20代码中的dog1, dog2就是2个不同的对象,但它们属于同一类型Dog。

在面向对象的思想中,万物皆对象. 把对象分门别"类",就产生了类的概念。在具标签14体软件设计中, 对象因关注而产生。相同类型/类别的对象被我们抽取成一个类。

类和对象的关标签1系

简单描述:类是对象的类型,是模板。对象是类的实例,模板长什么样,对象就长什么样。

类的属性(attribute, field)

对象的特征称为属性, 这些属性我们定义到类中.

属性一般是名词.

类的属性

类的方法(operation, method)

对象的行为/动作/功能称为方法, 很像C中的函数, 方法其实是对一个过程(代码)的封装, 同样, 方法定义到类中。

封装

对象的属性其实是对数据的封装, 对象看成一个包裹, 属性的值看成包裹里的物件。

对象的方法其实是对处理过程的封装, 因为方法中包含过程代码, 使用时通过方法名称来调用即可。

结论: 把对象的属性和方法一起定义到类中,这个行为就是封装。

使用类的标签10语法

声明变量: 类名 变量名;

赋值: 变量名 = new 类名();

也可以: 面向对象笼统吗?不,10分钟搞定类名 变量名 = new 类名();

这里的变量也称为对象。

这个过程称为"创建对象"或"实例化"。

访问对象的属性: 面向对象笼统吗?不,10分钟搞定对象名。属性名

调用对象的方法: 对象名。方标签17法名()

toString方法

Java中预定义了Object类, 它是所有类的祖先, 因为"万物皆对象"。

Object类定义了t标签1oString()方面向对象笼统吗?不,10分钟搞定法,用标签20来将对象转换成字符串形式, 这样便于在控制台上打印一个对象的信息面向对象笼统吗?不,10分钟搞定, 有利于开发人员进行调试。。。

如果希望自定义toString(), 如下示例即可:

类图

描述类的结构的图表。 可以用PowerDesigner进行绘制。 如:

-表示私有的, private, 外部可以访问

+表示公有的, public

static关键字

static修饰的属性和static面向对象笼统吗?不,10分钟搞定修饰的方法统称为"静态成员", 也称为"类成员", 它不依赖实标签14例。

反之, 没有static修饰的成员称为"实例成员","实例属性","实例方法", 它依赖实例而存在。

静态成员的访问方式:

类名.属性名

类名.方法名()

实例成员的访问方式:

对象名.属性名

对象名.方法名()

特别注意:

在实例方法中,可以访问静态成员

在静态方法中, 不可以直接访问实例成员!

再论方法

方法是对过程的封装, 用于外部调用。

调用方法的本质是执行方法中的代码, 执行完后返回到调用处。

定义方法的语法:

[可见性修饰符] [返回类型] [方法名] ( 参数列表 ) {

方面向对象笼统吗?不,10分钟搞定法体

}

可见性修饰符:

public: 公有, 外部可访问

private: 私有, 外部不可访问

返回类型:

void: 无返回值

其它返回类型: 必须配合return

方法像黑匣子, 方法可以返回结果, 也可以不返回(void)。

return的作用:

1) 返回结果

2) 跳出方法

方法的参数: 如果说返回值是方法向外的输出(产品), 那么参数就是外部向方法的输入(原料)。

定义方法时声明的参数称为"形参"。

调用方法时传入的实际参数称为"实参"。

传参 => 将实参的值赋给形参。

典型的带参方法:

"yes"。equals("haaha")

System。out。print("Hello World!");

方法的调用:

1) 类的内部调用当前类的方法: 直接引用方法名

2) 在类的外部调用这个类的方法: 先实例化这个类, 再调用方法

发表评论

电子邮件地址不会被公开。 必填项已用 *标注