看了两周七牛团队翻译的《Go语言程序设计》,基本上领略到了Go语言的魅力。学习一个语言,语法什么的任何人都是很容易学会,难就难在充分领略到这门编程语言的思想。
面向对象
喂!屌丝码农该找个对象了。
除去Java Python Go这三种语言底层以及语法的不同,这里以个人的理解只说说其面向对象方面的思想。 一个简单的示例:
描述人,李雷,韩梅梅,他俩都是好学生。
将用 java python go 这三种语言分别简单的描述。
Java 思想
人,是抽象的概念,可以洗衣做饭的灵长目物种,没法特指一样具体的东西,但它也有一些如性别、撒尿这类的属性和功能。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 |
/** * 抽象出来的人 */ abstract class Human { protected String sex; protected String name; public void setSex(String sex) { this.sex = sex; } public String getSex() { return this.sex; } public void setName(String name) { this.name = name; } public String getName() { return this.name; } abstract void doPee(); // 抽象的方法 } |
这里使用抽象类,是因为名字都是父母起的,但撒尿的方法男女不同。接下来是具象人这个抽象的概念了。这里就固话性别属性并且具体定义撒尿的方式。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 |
/** * 具象的男性 */ class Male extends Human { public Male() { this.sex = "男"; } /** * 实现的方法 */ public void doPee() { System.out.println(this.name + " " + this.sex + "站着撒尿."); } } /** * 具象的女性 */ class Female extends Human { public Female() { this.sex = "女"; } /** * 实现的方法 */ public void doPee() { System.out.println(this.name + " " + this.sex + "蹲着撒尿."); } } |
现在有男人和女人了,然后李磊和韩梅梅就要来折磨我们了
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 |
Male lilei = new Male(); lilei.setName("李磊"); System.out.println(lilei.getName() + " " + lilei.getSex() + " " + "出场"); Female hanmeimei = new Female(); hanmeimei.setName("韩梅梅"); n Go这三种语言底层以及语法的不同,这里以个人的理解只说说其面向对象方面的思想。 一个简单的示例:
描述人,李雷,韩梅梅,他俩都是好学生。 将用 java python go 这三种语言分别简单的描述。 Java 思想人,是抽象的概念,可以洗衣做饭的灵长目物种,没法特指一样具体的东西,但它也有一些如性别、撒尿这类的属性和功能。
这里使用抽象类,是因为名字都是父母起的,但撒尿的方法男女不同。接下来是具象人这个抽象的概念了。这里就固话性别属性并且具体定义撒尿的方式。
现在有男人和女人了,然后李磊和韩梅梅就要来折磨我们了
|