2024.5.10

所学时间:2.2小时

代码行数:62

博客园数:1篇

所学知识:今天学习了Python与Java在类的定义、继承、多态等方面的异同,总结了Python面向对象程序设计中的原则和注意事项。

Python和Java都是面向对象的编程语言,但在类的定义、继承、多态等方面有一些不同之处。

 

类的定义: Python中定义一个类非常简单,只需要使用关键字class即可,而Java中需要使用关键字class和类名。另外,Python中不需要指定类的访问修饰符,而Java中需要使用public、private或protected等修饰符来控制类的访问权限。

 

Python示例:

 

class Person:

 

def \__init_\_(self, name, age):

 

    self.name = name

 

    self.age = age

 

Java示例:

 

public class Person {

 

private String name;

 

private int age;

 

 

 

public Person(String name, int age) {

 

    this.name = name;

 

    this.age = age;

 

}

 

}

 

继承: Python和Java都支持类的继承,但Python中的继承更加灵活,一个子类可以继承多个父类,而Java中只支持单继承。此外,Python中使用super()函数来调用父类的方法,而Java中使用super关键字。

 

Python示例:

 

class Student(Person):

 

def \__init_\_(self, name, age, grade):

 

    super().\__init_\_(name, age)

 

    self.grade = grade

 

Java示例:

 

public class Student extends Person {

 

private int grade;

 

 

 

public Student(String name, int age, int grade) {

 

    super(name, age);

 

    this.grade = grade;

 

}

 

}

 

多态: Python和Java都支持多态,但Python中的多态更加灵活,不需要显式声明。Python中的多态是基于鸭子类型实现的,即只要对象具有某个方法或属性,就可以调用该方法或属性,而Java中的多态是基于继承和接口实现的。

 

Python示例:

 

class Animal:

 

def sound(self):

 

    pass

 

class Dog(Animal):

 

def sound(self):

 

    print("Woof")

 

class Cat(Animal):

 

def sound(self):

 

    print("Meow")

 

def make_sound(animal):

 

animal.sound()

 

dog = Dog()

 

cat = Cat()

 

make_sound(dog)

 

make_sound(cat)

 

Java示例:

 

public abstract class Animal {

 

public abstract void sound();

 

}

 

public class Dog extends Animal {

 

public void sound() {

 

    System.out.println("Woof");

 

}

 

}

 

public class Cat extends Animal {

 

public void sound() {

 

    System.out.println("Meow");

 

}

 

}

 

public class Main {

 

public static void makeSound(Animal animal) {

 

    animal.sound();

 

}

 

 

 

public static void main(String\[\] args) {

 

    Animal dog = new Dog();

 

    Animal cat = new Cat();

 

    

 

    makeSound(dog);

 

    makeSound(cat);

 

}

 

}

 

Python面向对象程序设计中的原则和注意事项:

 

尽量使用简单的类和方法,避免过度设计。

 

使用继承和多态来提高代码的可重用性和扩展性。

 

遵循单一职责原则,一个类应该只有一个责任。

 

使用私有属性和方法来封装类的实现细节,避免直接访问。

 

使用类的特殊方法来实现运算符重载和特殊行为。

 

避免使用全局变量和函数,尽量将代码封装在类中。

 

使用异常处理来处理错误和异常情况。

 

posted @ 2024-05-10 21:50  kuku睡  阅读(58)  评论(0)    收藏  举报