python和java中类和对象简单理解

本文探讨了Python和Java中类与对象的概念,通过创建猫类的例子展示了它们在定义属性和方法上的相似性。作者指出,类是抽象的,而对象是类的具体实例。在Java和Python中,都通过实例化类来创建对象,并调用其方法。文章提供了代码示例,展示了如何在主函数中创建和操作猫类的对象。
摘要由CSDN通过智能技术生成

写在前面:题主是一个半吊子大学生,java和python学的都不咋地,最近才突然发现python中也有类和对象这一说法。于是突发奇想,java和python中类和对象有什么不同呢?于是就有了这篇文章,按照个人理解,主要用于给自己复习用,毕竟好久没碰代码了。也欢迎大家看完留言,提出批评和指正。

ps:如有理解和代码方面错误,欢迎各位大佬评论区留言指正。

类和对象概述:简单的来说,类就是类型。在现实生活中,比如,动物类,猪类,狗类,人类等。正所谓物以类聚,人以群分。笼统的来说,类中的每个个体都会有相同的属性,比如说:狗类的舌头可以用来排汗,而人类却不行;狗类可以通过摇尾巴来表达开心的情绪,而猫类竖起尾巴则表示愤怒等。对象就是类的具体化,类是抽象的,而对象是具体的,可以通过引用对象来使用。

总而言之,类就是你大脑中对这个事物的属性和方法的抽象,比如我觉得猫有尾巴,有嘴巴,有毛发等,而你凭空变出一只猫,这只猫咪就是一个对象。

创建一个猫类:

JAVA:(先写一个eat普通方法)

class Cat{
    public void eat(){      //为猫咪写一个eat普通方法
        System.out.println("Cat eat fish");
    }
}

Python:

class Cat:
    def eat(self):
        print("Cat eat fish")

为猫类赋予属性:

JAVA:

class Cat{
    String color = "black";       //为猫咪定义颜色,名字,年龄三个成员变量
    String name = "black cat";
    int age = 2;
    public void eat(){      //为猫咪写一个eat普通方法
        System.out.println("Cat eat fish");
    }
}

Python:

class Cat:
    color = "Black"
    name = "Black Cat"
    age = 2
    def eat(self):
        print("Cat eat fish")

为猫类添加其他的方法:

JAVA:

class Cat{
    String color = "black";       //为猫咪定义颜色,名字,年龄三个成员变量
    String name = "black cat";
    int age = 2;
    public void eat(){      //为猫咪写一个eat普通方法
        System.out.println("Cat eat fish");
    }
    public void sleep(){
        System.out.println("Cat sleep in bed");
    }
}

Python:

class Cat:
    color = "Black"
    name = "Black Cat"
    age = 2
    def eat(self):
        print("Cat eat fish")
    def sleep(self):
        print("Cat sleep in bed")

目前为止,我们分别用Python和JAVA写出了猫类的一些属性和方法,那么如何调用?

由于我们只写了猫咪的类,我们并没有实例化出一直猫咪。就像是文章开图说的,脑海中有,但是怎么把它变到现实世界中呢?这时候,我们就要生成一个真正的猫咪对象并调用它的属性和方法。

JAVA:(需要写一个主类来运行我们刚刚写的代码)

主类和普通类一样都是类。例如我们刚刚写的猫类就是一个普通类,主类前面需要加public修饰,如果在一篇JAVA代码中有多个类,那么只有主类要加public修饰,其他的类不可以加public修饰,例如我们的猫类就不能加。简单的理解,在主类中实例化其他类生成对象并调用。

public class ClassTest {
    public static void main(String[] args) {
        Cat cat = new Cat();      //实例化猫咪,这个猫咪对象被命名为cat。ps注意大小写区分
        System.out.println("This cat was named"+cat.name+"because it's color was"+cat.color+"is's age is"+cat.age);
        cat.eat();
        cat.sleep();
    }
}

ps:在输出的过程中,用"+"来拼接

Python:

if __name__ == "__main__":
    cat = Cat()
    print("This cat was named"+str(cat.name)+" , because it's color was"+str(cat.color)+" , is's age is "+str(cat.age))
    cat.eat()
    cat.sleep()

运行效果:

JAVA:

"C:\Program Files\Java\jdk-16.0.1\bin\java.exe" "-javaagent:D:\New IDEA\IntelliJ IDEA 2020.2.4\lib\idea_rt.jar=52128:D:\New IDEA\IntelliJ IDEA 2020.2.4\bin" -Dfile.encoding=UTF-8 -classpath D:\XXXXXXXXXXXXXXXXXXXXXXXXXXXX\out\production\XXXXXXXXXXXXXXXXXXXXXXXXXXXX ClassTest
This cat was named black cat , because it's color was black , is's age is 2
Cat eat fish
Cat sleep in bed

Process finished with exit code 0

Python:

"D:\Python Pycharm files\The First\venv\Scripts\python.exe" "D:/Python Pycharm files/The First/Test.py"
This cat was namedBlack Cat , because it's color wasBlack , is's age is 2
Cat eat fish
Cat sleep in bed

Process finished with exit code 0

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值