Object oriented-01

Embed Size (px)

DESCRIPTION

Java入門のためのオブジェクト指向入門http://atnd.org/events/9097

Citation preview

  • 1. Java @o_tmr Android

2. (C) 2010 2 Java JAVA JAVA / 3. (C) 2010 3 Java Java ( Smalltalk C++, C# ) object-oriented programming language, OOPL 4. (C) 2010 4 Java Java SE 6 SE=Standard Edition EE, ME EE(Enterprise Edition) ME(Micro Edition) 5. (C) 2010 5 Java JDKJava Development Kit; Java 1.4 1.4 assert 5.0(1.5) enum 6(1.6) 7 2011 8 2012 6. (C) 2010 6 Object-oriented OO 7. (C) 2010 7 Object-oriented OO 8. (C) 2010 8 (OOP; object-oriented programming) (OOA; object-oriented analysis) (OOD; object-oriented design) 9. (C) 2010 9 /x86 CPU 10110000 01100001[2] (B0 61[16]) AL61[16] (97) 10. (C) 2010 10 MOV AL, 61 AL61[16] (97) (assemble) (assembler) wikipedia 11. (C) 2010 11 (BASIC) 100 LET A = 0 110 REM 120 FOR I = 1 TO 10 130 PRINT "HELLO,"; 140 LET A = RND(1) 100* 150 IF A=0 GOTO 120 160 NEXT I 170 GOSUB 2010 12. (C) 2010 12 (C) struct Foo foo;* char greeting;* int err; foo = (struct Foo ) calloc(sizeof(struct Foo) 1);* * err = sayHello(foo, &greeting); if (err) { / if (err != 0) { /* * /* /* } printf("%sn", greeting); 13. (C) 2010 13 (Java) Foo foo = new Foo(); String greeting; try { greeting = foo.sayHello(); } catch (Exception e) { // } System.out.println(greeting); 14. (C) 2010 14 lisp,Haskell, 15. (C) 2010 15 16. (C) 2010 16 1 17. (C) 2010 17 2 (2) () 18. (C) 2010 18 Java Java public interface Shape { public abstract double area(); } 19. (C) 2010 19 Javapublic class Triangle implements Shape { private double _teihen; private double _takasa; public Triangle(double teihen, double takasa) { _teihen = teihen; _takasa = takasa; } @Override public double area() { double a = _teihen _takasa / 2.0;* return a; } } 20. (C) 2010 20 Java public class Circle implements Shape { private double _radius; public Circle(double radius) { _radius = radius; } @Override public double area() { double a = _radius _radius Math.PI;* * // Math.PIMathPI // (double3.14...) return a; } } 21. (C) 2010 21 Java public class Main { public static void main(String[] args) { Shape t = new Triangle(3.0, 5.0); Shape c = new Circle(5.0); double a1 = t.area(); double a2 = c.area(); } } 22. (C) 2010 22 Java 8() () 23. (C) 2010 23 Java 8() boolean charbyteshortintlongfloatdouble boolean flg = true; char ch = ''; byte b = 0x7f; short s = 123; int i = 0x7FFFFFFF;//2147483647; long l = 0x7FFFFFFFFFFFFFFFL; float f = 3.14F; double d = 1e-100; 24. (C) 2010 24 Java () String s = ABC; ArrayList alist = new ArrayList(); List list = alist; String[ ] strs = new String[100]; strs[0] = HELLO; int[ ] array = new int[100]; Object x1 = s; // String s Object x2 = strs; // String[ ] strs Object x3 = array; // int[ ] array 25. (C) 2010 25 26. (C) 2010 26 (heap) Java GC// 27. (C) 2010 27 () Java 28. (C) 2010 28 () Java Exception in thread "main" java.lang.NullPointerException at samples.Sample.d(Sample.java:22) at samples.Sample.c(Sample.java:18) at samples.Sample.b(Sample.java:14) at samples.Sample.a(Sample.java:10) at samples.Sample.main(Sample.java:6) 29. (C) 2010 29 vs (LIFO) Stack GC 30. (C) 2010 30 vs 31. (C) 2010 31 java.lang.OutOfMemoryError ... java.lang.StackOverflowError ... 32. (C) 2010 32 Object ()/ Instance 33. (C) 2010 33 Java == Java Object#equals() 34. (C) 2010 34 () () () //() ( ) Java (design pattern) (refactoring) 35. (C) 2010 35 () , (;) (/) 36. (C) 2010 36 (immutable;) (mutable;)