面向对象编程(Object Oriented Programming)简称为OOP,是一种基于对象和类的编程范式,通过将程序的功能组织为多个对象,每个对象包含数据和操作数据的方法。
基本概念和特性
类:
类是对象的模板或蓝图,定义了一组具有相同属性和行为的对象。类描述了对象的属性(成员变量)和行为(成员函数),通过实例化类来创建对象。
以下代码定义了一个简单的Cat类,包含两个属性:name(名字)和 age(年龄)
```
public class Cat {
// 属性 name和age
private String name;
private int age;
// 构造方法 (又称构造器,构造函数)
public Cat(String name, int age) {
this.name = name;
this.age = age;
}
// getter 方法,用于获取名字
public String getName() {
return name;
}
// setter 方法,用于设置名字
public void setName(String name) {
this.name = name;
}
// getter 方法,用于获取年龄
public int getAge() {
return age;
}
// setter 方法,用于设置年龄
public void setAge(int age) {
if (age >= 0) { // 通常年龄应该是非负数
this.age = age;
}
}
// 重写 toString() 方法,用于输出对象的字符串表示形式
@Override
public String toString() {
return "Cat{name='" + name + "', age=" + age + "}";
}
对象:
对象是类的实例,每个对象具有独立的属性和方法
对象的属性和方法可以绑定在一起,并限制外部对属性的直接访问,这种特性叫封装,封装通过访问修饰符(如public、protected)实现,提供数据隐藏和保护的机制。封装有助于提高代码的可维护性和安全性。
public class Today {private String weather;private int date;// 构造方法public Today(String weather, int date) {this.weather = weather;this.date = date;java基础类对象封装如何思政 }//方法:说明天气及日期public void introduce(){System.out.println("今天的天气为"+weather+" 今日是本月的"+date+" 号");}}//创建对象并调用方法public class THIS {public static void main(String[] args) {//创建对象TodayToday today=new Today("晴",21);//调用方法today.introduce();}}多态:多态是指同一个操作在不同对象上表现出不同行为的能力。多态可以通过方法重载(同名不同参数的方法)和方法重写(子类重写父类的方法)实现。以下是一个子类重写父类方法的例子
//创建一个父类Animal
public class Animal {
public void sound() {
System.out.println("Animal makes a sound");
}
}
创建第一个子类Cat
public class Cat extends Animal {
@Override
public void sound() {
System.out.println("喵喵喵");
}
}
创建第二个子类Dog
public class Dog extends Animal {
@Override
public void sound() {
System.out.println("汪汪汪!");
}
}
public class Main {
public static void main(String[] args) {
// 创建 Animal 类的引用,指向 Dog 和 Cat 对象,表现出多态性
Animal myDog = new Dog();
Animal myCat = new Cat();
// 调用 sound 方法
myDog.sound(); // 输出显示: 汪汪汪!
myCat.sound(); // 输出显示: 喵喵喵
}
}
多态允许同一个方法有不同的实现方式,使得代码更加灵活和可扩展。当需要添加新的功能时,只需添加新的子类或覆盖现有方法,而不需要修改现有代码。
继承:
继承是指一个类(子类)继承另一个类(父类)的属性和方法,从而实现代码重用和层次化组织。通过继承,子类可以扩展或修改父类的行为。继承可以是单继承(一个子类继承一个父类)或多继承(一个子类继承多个父类(部分语言支持))增加代码的可重用性,拓展,修改。在想要拓展功能时不必重写整个对象,只需继承再写新的属性,方法即可。
// 父类 Animalpublic class Animal {// 属性protected String name;// 构造方法public Animal(String name) {this.name = name;}// 方法public void makeSound() {System.out.println(name + " makes a sound");}}// 子类 Dog 继承自 Animalpublic class Dog extends Animal {// 构造方法,调用父类的构造方法public Dog(String name) {super(name); // 调用父类的构造方法,设置 name 属性}// 重写 makeSound 方法@Overridepublic void makeSound() {System.out.println(name + " whoops: No! No!");}}// 主类 Mainpublic class Main {public static void main(String[] args) {// 创建 Dog 对象Dog myDog = new Dog("Leon"); s// 调用 makeSound 方法myDog.makeSound(); // 输出: Leon whoops: No! No!}

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请联系我们,一经查实,本站将立刻删除。
如需转载请保留出处:https://51itzy.com/kjqy/2995.html