您的位置:首页 > 编程语言 > Java开发

面向对象的概念 | 类与对象 | java基础

2017-08-08 12:05 330 查看
一、面向对象的概念

关于面向对象的概念问题一直困扰了我好久,虽然看了很多例子但始终不理解(文转理),最近在知乎上看到这么一个回答,我要给他十万个赞,感觉很是精辟

引号内为原文,知乎网友匿名



你的程序要完成一个任务相当于将一个故事

面向过程是编年史

面向对象时纪传体

相对于复杂的程序/宏大的故事,事实证明了,面向对象/纪传体都是更好的表达方式



https://www.zhihu.com/question/27468564?sort=created(附该问题地址)

面向对象有三个特性

1、封装性 (是面向对象核心思想,使程序更安全)

2、继承性 (通过继承,可以不用编写新的类,对原有类进行扩展)

3、多态性 (多态性指的是在程序中允许出现重名现象,即一个类中定义的属性和方法被其他类继承后,可以表现出不同的数据类型或不同的行为,这使得同一属性和方法在不同的类中有不同的意义)

二、类与对象

类和对象的概念:

类就是类别,类别关注共同的属性和行为。

万物皆对象,有些对象是包含着其他对象的,成为类。

例如狗是一个类,狗的属性:体重,毛色;狗的行为:吃狗粮,汪汪叫。

而一只多少体重,什么颜色,这就是对象。

对象是根据类创建的,并且一个类可以创建多个对象。

1、类的定义

想要创建一个对象,首先要定义一个类,用来描述一组对象的共同特征,行为。

类中有成员变量,成员方法。

成员变量:描述对象的特征,又称作属性

成员方法:描述对象的行为,简称方法

方法中也可以定义变量,这种变量称为局部变量。如果两种变量重名,此时通过变量名访问的是局部变量。

class Person{
int age=10;
void speak(){
int age=20;
System.out.println("大家好,我今年"+age+"岁")
}
}
//代码结果是20,最简单的类和方法也是这样定义的


有类之后如何创建对象?可以使用new关键字

//创建Perso
4000
n的实例对象
Person p=new Person();

//如何访问对象的成员?   对象名.成员名
p.age=30; //为age赋值
p.speak(); //调用对象的方法


当实例化一个对象的时候,java虚拟机会自动为其初始化,不同类型的变量初始化值也不同。

2、类的封装

定义:将类中的属性私有化,即使用private关键字来修饰,私有属性只能在他所在的类中被访问。

外界如何访问私有属性?

获取属性值 getXxx( )方法

设置属性值 setXxx( )方法

//案例:如果编写一个自我介绍,把年龄输入成负数,是不对的,但是我们又无法制止,因此用到了封装,代码如下
class Student {
private String name;    // 将name属性私有化
private int age;        // 将age属性私有化
// 下面是公有的 getXxx 和 setXxx 方法
public String getName() {
return name;
}
public void setName(String stuName) {
name = stuName;
}
public int getAge() {
return age;
}
public void setAge(int stuAge) {
// 下面是对传入的参数进行检查
if (stuAge <= 0) {
System.out.println("年龄不合法...");
} else {
age = stuAge;   // 对属性赋值
}
}
public void introduce() {
System.out.println("大家好,我叫" + name + ",我今年" + age + "岁!");
}
}
public class Example04 {
public static void main(String[] args) {
Student stu = new Student();
stu.setAge(-30);
stu.setName("李芳");
stu.introduce();
}
}
//这样就会在传入参数的过程中起到检查作用
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐