面向对象编程(上)

Posted Aiden_Zhao

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了面向对象编程(上)相关的知识,希望对你有一定的参考价值。

4.1 面向对象(OOP)和面向过程(POP)

面向对象和面向过程

  • 二者都是一种思想,面向对象是相对于面向过程而言的。面向过程,强调的是功能行为,以函数为最小单位,考虑怎么做。面向对象,将功能封装进对象,强调具备了功能的对象,以类/对象为最小单位,考虑谁来做
  • 面向对象更加强调运用人类在日常的思维逻辑中采用的思想方法和原则,如抽象、分类、继承、聚合、多态等。

面向对象的三大特征

  • 封装
  • 继承
  • 多态

4.2 Java语言的基本元素:类和对象

  • 类是对一类事物的描述,是抽象的、概念上的定义
  • 对象是实际存在的该类事物的每个个体,因而也被称为实例

类的语法格式

修饰符 class 类名
	属性声明;
	方法声明;

4.3 对象的创建和使用

  • 创建对象的语法:类名 对象名 = new 类名();
  • 使用对象名.对象成员的方式访问对象成员

举个栗子
编写一个教师类和一个学生类,并通过测试类创建对象进行测试:

Student类Teacher类
属性name: String
age: int
major: String
interests: String
name: String
age: int
teachAge: int
course: String
方法say()
返回学生的个人信息
say()
输出教师的个人信息

程序如下:

public class Test1 
	public static void main(String[] args) 
		// 创建对象
		Student stu = new Student();
		Teacher tea = new Teacher();
		
		// 访问属性
		stu.name = "Tom";
		stu.age = 18;
		stu.major = "English";
		stu.interests = "swimming";
		
		tea.name = "Jack";
		tea.age = 35;
		tea.teachAge = 8;
		tea.course = "English";
		
		// 访问方法
		String info = stu.say();
		System.out.println(info);
		tea.say();
	


class Student 
	// 属性
	String name;
	int age;
	String major;
	String interests;
	
	// 方法
	public String say() 
		String info = "Name: " + name + "\\nAge: " + age + "\\nMajor: " 
	+ major + "\\nInterests: " + interests;
		return info;
	


class Teacher 
	// 属性
	String name;
	int age;
	int teachAge;
	String course;
	
	// 方法
	public void say() 
		System.out.println("Name: " + name);
		System.out.println("Age: " + age);
		System.out.println("Teach age: " + teachAge);
		System.out.println("Course: " + course);
	

注意:类的访问机制

  • 在一个类中的访问机制:类中的方法可以直接访问类中的成员变量(例外:static方法访问非static,编译不通过)
  • 在不同类中的访问机制:先创建要访问的对象,再用对象访问类中定义的成员

以上是关于面向对象编程(上)的主要内容,如果未能解决你的问题,请参考以下文章

面向对象编程(上)

Python面向对象编程总结(上)

第四章 面向对象编程(上)

面向对象编程(上)

java面向对象编程(上)

OOP面向对象编程的六大原则(上)