0

nhận tập tin nguồn ví dụ example asm sẽø tạo ra tập tin đối tượng example obj và tập tin kiểu liệt kê example lst như hình 5 1

Giáo trình hướng dẫn phân tích tạo ra những kiểu dữ liệu mới bằng việc tạo ra các lớp đối tượng đa hình p10 pps

Giáo trình hướng dẫn phân tích tạo ra những kiểu dữ liệu mới bằng việc tạo ra các lớp đối tượng đa hình p10 pps

Cao đẳng - Đại học

... 50 , 10 0 Loc1 location: 50 , 10 0 Lúc Location đối tượng tham chiếu nên truyền vào phương thức myFunc() việc gán giá trị cho x y điều làm thay đổi đối tượng Location Gọi khởi dựng mặc định Như đề ... sử dụng chúng cấu trúc Tạo cấu trúc không gọi new Bởi Location cấu trúc lớp, thể tạo stack Trong dụ 7 .1 toán tử new gọi: Location loc1 = new Location( 200, 300); kết đối tượng Location tạo ... loc1; loc1.xVal = 10 0; loc1.yVal = 250 ; Console.WriteLine(“loc1”); } } Trong dụ 7.2 khởi tạo biến thành viên cách trực tiếp, trước gọi phương thức loc1...
  • 5
  • 357
  • 0
Giáo trình hướng dẫn phân tích tạo ra những kiểu dữ liệu mới bằng việc tạo ra các lớp đối tượng đa hình p9 pot

Giáo trình hướng dẫn phân tích tạo ra những kiểu dữ liệu mới bằng việc tạo ra các lớp đối tượng đa hình p9 pot

Cao đẳng - Đại học

... mà NET quy định? Ký hiệu toán tử? Bài tập Bài tập 1: Hãy tiếp tục phát triển lớp Fraction dụ chương cách thêm toán tử khác trừ, nhân, chia, so sánh Bài tập 2: Xây dựng lớp điểm không gian hai ... cấu trúc> [: danh sách giao diện] { [thành viên cấu trúc] 1 65 Cấu Trúc Ngôn Ngữ Lập Trình C# } dụ 7 .1 sau minh họa cách tạo cấu trúc Kiểu Location thể điểm không gian hai chiều Lưu ý cấu trúc ... thảo luận kiểu liệu tham chiếu kiểu liệu giá trị) Do cấu trúc thường dùng để thể hiển đối tượng không đòi hỏi ngữ nghĩa tham chiếu, hay lớp nhỏ mà đặt vào stack có lợi đặt nhớ heap Một nhận xét...
  • 5
  • 355
  • 0
Giáo trình hướng dẫn phân tích tạo ra những kiểu dữ liệu mới bằng việc tạo ra các lớp đối tượng đa hình p8 pps

Giáo trình hướng dẫn phân tích tạo ra những kiểu dữ liệu mới bằng việc tạo ra các lớp đối tượng đa hình p8 pps

Cao đẳng - Đại học

... Console.WriteLine("f1 + f2 = f3:{0}",f3.ToString()); Fraction f4 = f3 + 5; Console.WriteLine("f4 = f3 + 5: {0}",f4.ToString()); Fraction f5 = new Fraction( 2, 4); if( f5 == f2 ) { Console.WriteLine("f5:{0}==f2: {1} ", ... tường minh, chuyển từ Fraction số nguyên: public static explicit operator int( Fraction theFraction ) { return theFraction.numerator / theFraction.denominator; } Bởi dụ sử dụng phép chia nguyên, ... Main() { Fraction f1 = new Fraction( 3, 4); Console.WriteLine("f1:{0}",f1.ToString()); Fraction f2 = new Fraction( 2, 4); Console.WriteLine("f2:{0}",f2.ToString()); Fraction f3 = f1 + f2; Console.WriteLine("f1...
  • 5
  • 281
  • 0
Giáo trình hướng dẫn phân tích tạo ra những kiểu dữ liệu mới bằng việc tạo ra các lớp đối tượng đa hình p7 doc

Giáo trình hướng dẫn phân tích tạo ra những kiểu dữ liệu mới bằng việc tạo ra các lớp đối tượng đa hình p7 doc

Cao đẳng - Đại học

... secondFraction trình biên dịch chuyển biểu thức vào: Fraction.operator+(firstFraction, secondFraction) Kết sau thực đối tượng Fraction trả về, trường hợp phép gán thực để gán đối tượng Fraction ... Chồng Toán Tử 15 4 Ngôn Ngữ Lập Trình C# vỡ cách thể thông thường để sử dụng toán tử Hạn chế việc sử dụng tùy tiện nạp chồng toán tử cách sử dụng cách đặc trưng dụ, hấp dẫn việc sử dụng nạp chồng ... sử dụng để kiểm tra kiểu đối tượng lúc chạy chương trình có tương thích với toán hạng trường hợp Fraction Do o Fraction nên toán tử is trả true Toán tử chuyển đổi C# cho phép chuyển đổi từ kiểu...
  • 5
  • 337
  • 0
Giáo trình hướng dẫn phân tích tạo ra những kiểu dữ liệu mới bằng việc tạo ra các lớp đối tượng đa hình p6 pps

Giáo trình hướng dẫn phân tích tạo ra những kiểu dữ liệu mới bằng việc tạo ra các lớp đối tượng đa hình p6 pps

Cao đẳng - Đại học

... để tạo mảng đối tượng Xe, đưa đối tượng cụ thể vào mảng đối tượng Xe, sau cho lặp đối tượng mảng để tự giới thiệu tên (bằng cách gọi hàm Who() đối tượng) Bài tập 3: Xây dựng lớp đối tượng hình ... hai dụ trình này? Bài tập Bài tập 1: Hãy mở rộng dụ chương xây dựng thêm đối tượng khác kế thừa lớp Window như: Label, TextBox, Scrollbar, toolbar, menu, Bài tập 2: Hãy xây dựng lớp đối tượng ... phải xác nhận tên lớp bên ngoài, tức lớp Fraction: FractionArtist Fraction.FractionArtist fa = new Fraction.FractionArtist(); Thậm chí lớp FractionArtist public, phạm vị lớp nằm bên lớp Fraction...
  • 5
  • 381
  • 1
Giáo trình hướng dẫn phân tích tạo ra những kiểu dữ liệu mới bằng việc tạo ra các lớp đối tượng đa hình p5 ppsx

Giáo trình hướng dẫn phân tích tạo ra những kiểu dữ liệu mới bằng việc tạo ra các lớp đối tượng đa hình p5 ppsx

Cao đẳng - Đại học

... trị đưa vào đối tượng cách tự động ngầm định dụ, gán kiểu liệu kiểu nguyên int vào biến kiểu Object (điều hoàn toàn hợp lệ kiểu int dẫn xuất từ lớp Object) giá trị đưa vào biến Object, ... định kiểu liệu giá trị sang kiểu liệu tham chiếu đối tượng Boxing giá trị cách tạo thể hiển đối tượng cần dùng chép giá trị vào đối tượng tạo Ta có hình vẽ sau minh họa trình Boxing số nguyên 14 4 ... Đa Hình 1 45 Ngôn Ngữ Lập Trình C#   Phải chắn đối tượng boxing kiểu giá trị đưa Sao chép giá trị từ thể hay đối tượng vào biến kịểu giá trị Heap Stack i 12 3 int i = 12 3; i o 12 3 boxed Int 12 3...
  • 5
  • 278
  • 0
Giáo trình hướng dẫn phân tích tạo ra những kiểu dữ liệu mới bằng việc tạo ra các lớp đối tượng đa hình p4 doc

Giáo trình hướng dẫn phân tích tạo ra những kiểu dữ liệu mới bằng việc tạo ra các lớp đối tượng đa hình p4 doc

Cao đẳng - Đại học

... trừu tượng sau: abstract public void Window dụ 5. 3 sau minh họa việc tạo lớp Window trừu tượng phương thức trừu tượng DrawWindow() lớp Window  dụ 5. 3: Sử dụng phương thức lớp trừu tượng ... phương thức bao gồm Equals() kiểm tra xem hai đối tượng có giống hay không Phương thức GetType() trả kiểu đối tượng phương thức ToString 14 2 Kế Thừa – Đa Hình ... winArray [1] = new ListBox( 3, 4, “Second List Box”); winArray[2] = new Button( 5, 6); for( int i=0; i
  • 5
  • 278
  • 0
Giáo trình hướng dẫn phân tích tạo ra những kiểu dữ liệu mới bằng việc tạo ra các lớp đối tượng đa hình p3 ppsx

Giáo trình hướng dẫn phân tích tạo ra những kiểu dữ liệu mới bằng việc tạo ra các lớp đối tượng đa hình p3 ppsx

Cao đẳng - Đại học

... Trong phần thân dụ 5. 2, ta tạo ba đối tượng, đối tượng thứ Window, đối tượng thứ hai lớp ListBox đối tượng cuối lớp Button Sau ta thực việc gọi phương thức DrawWindow() cho đối tượng sau: Window ... trí đối tượng Window mảng tương tự ta đặt đối tượng Button vào vị trí mảng đối tượng Window, Button Window Window[] winArray = new Window[3]; winArray[0] = new Window( 1, ); winArray [1] = new ... is array”); winArray[2] = new Button( 5, ); Chuyện xảy gọi phương thức DrawWindow() cho đối tượng mảng winArray for( int i = 0; i < ; i++) { winArray[i].DrawWindow(); 13 4 Kế Thừa – Đa Hình ...
  • 5
  • 284
  • 0
Giáo trình hướng dẫn phân tích tạo ra những kiểu dữ liệu mới bằng việc tạo ra các lớp đối tượng đa hình p2 docx

Giáo trình hướng dẫn phân tích tạo ra những kiểu dữ liệu mới bằng việc tạo ra các lớp đối tượng đa hình p2 docx

Cao đẳng - Đại học

... phiên phương thức lớp sở Lớp dẫn xuất tạo phương thức việc đánh dấu với từ khóa new dụ 5. 1 sau minh họa việc tạo sử dụng lớp sở dẫn xuất  dụ 5. 1: Sử dụng lớp dẫn xuất ... // tạo đối tượng cho lớp sở Window w = new Window (5, 10 ); w.DrawWindow(); // tạo đối tượng cho lớp dẫn xuất ListBox lb = new ListBox( 20, 10 , “Hello world!”); lb.DrawWindow(); } Kế Thừa – Đa Hình ... lớp sở Trong dụ 5. 1, phương thức DrawWindow() lớp ListBox làm ẩn thay phương thức DrawWindow lớp sở Window Khi gọi phương thức DrawWindow đối tượng lớp ListBox phương thức ListBox.DrawWindow()...
  • 5
  • 363
  • 0
Giáo trình hướng dẫn phân tích tạo ra những kiểu dữ liệu mới bằng việc tạo ra các lớp đối tượng đa hình p1 ppt

Giáo trình hướng dẫn phân tích tạo ra những kiểu dữ liệu mới bằng việc tạo ra các lớp đối tượng đa hình p1 ppt

Cao đẳng - Đại học

... & tập Trong chương trước trình bày cách tạo kiểu liệu việc xây dựng lớp đối tượng Tiếp theo chương đưa sâu vào mối quan hệ đối tượng giới thực cách mô hình hóa quan hệ xây dựng chương trình Chương ... qua kế thừa (inheritance) 1 25 Kế Thừa – Đa Hình Ngôn Ngữ Lập Trình C# Khái niệm đa hình (polymorphism) trình bày chương 5, khái niệm quan trọng lập trình hướng đối tượng Khái niệm cho phép thể ... không đặt biệt hóa, hay lớp trừu tượng sử dụng đặc biệt hóa Lớp đối tượng Object gốc tất lớp thảo luận phần cuối chương Đặc biệt hóa tổng quát hóa Lớp thể lớp tức đối tượng không tồn khối, chúng tồn...
  • 5
  • 318
  • 0
Giáo trình hướng dẫn tạo ra những kiểu dữ liệu mới bằng việc tạo ra các lớp đối tượng theo phương thức đa hình p10 ppt

Giáo trình hướng dẫn tạo ra những kiểu dữ liệu mới bằng việc tạo ra các lớp đối tượng theo phương thức đa hình p10 ppt

Cao đẳng - Đại học

... 50 , 10 0 Loc1 location: 50 , 10 0 Lúc Location đối tượng tham chiếu nên truyền vào phương thức myFunc() việc gán giá trị cho x y điều làm thay đổi đối tượng Location Gọi khởi dựng mặc định Như đề ... sử dụng chúng cấu trúc Tạo cấu trúc không gọi new Bởi Location cấu trúc lớp, thể tạo stack Trong dụ 7 .1 toán tử new gọi: Location loc1 = new Location( 200, 300); kết đối tượng Location tạo ... loc1; loc1.xVal = 10 0; loc1.yVal = 250 ; Console.WriteLine(“loc1”); } } Trong dụ 7.2 khởi tạo biến thành viên cách trực tiếp, trước gọi phương thức loc1...
  • 5
  • 341
  • 0
Giáo trình hướng dẫn tạo ra những kiểu dữ liệu mới bằng việc tạo ra các lớp đối tượng theo phương thức đa hình p9 pptx

Giáo trình hướng dẫn tạo ra những kiểu dữ liệu mới bằng việc tạo ra các lớp đối tượng theo phương thức đa hình p9 pptx

Cao đẳng - Đại học

... mà NET quy định? Ký hiệu toán tử? Bài tập Bài tập 1: Hãy tiếp tục phát triển lớp Fraction dụ chương cách thêm toán tử khác trừ, nhân, chia, so sánh Bài tập 2: Xây dựng lớp điểm không gian hai ... cấu trúc> [: danh sách giao diện] { [thành viên cấu trúc] 1 65 Cấu Trúc Ngôn Ngữ Lập Trình C# } dụ 7 .1 sau minh họa cách tạo cấu trúc Kiểu Location thể điểm không gian hai chiều Lưu ý cấu trúc ... thảo luận kiểu liệu tham chiếu kiểu liệu giá trị) Do cấu trúc thường dùng để thể hiển đối tượng không đòi hỏi ngữ nghĩa tham chiếu, hay lớp nhỏ mà đặt vào stack có lợi đặt nhớ heap Một nhận xét...
  • 5
  • 322
  • 0
Giáo trình hướng dẫn tạo ra những kiểu dữ liệu mới bằng việc tạo ra các lớp đối tượng theo phương thức đa hình p8 doc

Giáo trình hướng dẫn tạo ra những kiểu dữ liệu mới bằng việc tạo ra các lớp đối tượng theo phương thức đa hình p8 doc

Cao đẳng - Đại học

... Console.WriteLine("f1 + f2 = f3:{0}",f3.ToString()); Fraction f4 = f3 + 5; Console.WriteLine("f4 = f3 + 5: {0}",f4.ToString()); Fraction f5 = new Fraction( 2, 4); if( f5 == f2 ) { Console.WriteLine("f5:{0}==f2: {1} ", ... tường minh, chuyển từ Fraction số nguyên: public static explicit operator int( Fraction theFraction ) { return theFraction.numerator / theFraction.denominator; } Bởi dụ sử dụng phép chia nguyên, ... Main() { Fraction f1 = new Fraction( 3, 4); Console.WriteLine("f1:{0}",f1.ToString()); Fraction f2 = new Fraction( 2, 4); Console.WriteLine("f2:{0}",f2.ToString()); Fraction f3 = f1 + f2; Console.WriteLine("f1...
  • 5
  • 337
  • 0
Giáo trình hướng dẫn tạo ra những kiểu dữ liệu mới bằng việc tạo ra các lớp đối tượng theo phương thức đa hình p7 ppt

Giáo trình hướng dẫn tạo ra những kiểu dữ liệu mới bằng việc tạo ra các lớp đối tượng theo phương thức đa hình p7 ppt

Cao đẳng - Đại học

... secondFraction trình biên dịch chuyển biểu thức vào: Fraction.operator+(firstFraction, secondFraction) Kết sau thực đối tượng Fraction trả về, trường hợp phép gán thực để gán đối tượng Fraction ... sử dụng để kiểm tra kiểu đối tượng lúc chạy chương trình có tương thích với toán hạng trường hợp Fraction Do o Fraction nên toán tử is trả true Toán tử chuyển đổi C# cho phép chuyển đổi từ kiểu ... 6 .1 sau trình bày toán tử với biểu tượng toán tử tên phương thức thay toán tử Biểu tượng Tên phương thức thay + Add Tên toán tử Toán tử cộng - Subtract Toán tử trừ * Multiply Toán tử nhân 15 5 ...
  • 5
  • 366
  • 0
Giáo trình hướng dẫn tạo ra những kiểu dữ liệu mới bằng việc tạo ra các lớp đối tượng theo phương thức đa hình p6 pot

Giáo trình hướng dẫn tạo ra những kiểu dữ liệu mới bằng việc tạo ra các lớp đối tượng theo phương thức đa hình p6 pot

Cao đẳng - Đại học

... để tạo mảng đối tượng Xe, đưa đối tượng cụ thể vào mảng đối tượng Xe, sau cho lặp đối tượng mảng để tự giới thiệu tên (bằng cách gọi hàm Who() đối tượng) Bài tập 3: Xây dựng lớp đối tượng hình ... hai dụ trình này? Bài tập Bài tập 1: Hãy mở rộng dụ chương xây dựng thêm đối tượng khác kế thừa lớp Window như: Label, TextBox, Scrollbar, toolbar, menu, Bài tập 2: Hãy xây dựng lớp đối tượng ... phải xác nhận tên lớp bên ngoài, tức lớp Fraction: FractionArtist Fraction.FractionArtist fa = new Fraction.FractionArtist(); Thậm chí lớp FractionArtist public, phạm vị lớp nằm bên lớp Fraction...
  • 5
  • 411
  • 0
Giáo trình hướng dẫn tạo ra những kiểu dữ liệu mới bằng việc tạo ra các lớp đối tượng theo phương thức đa hình p5 pps

Giáo trình hướng dẫn tạo ra những kiểu dữ liệu mới bằng việc tạo ra các lớp đối tượng theo phương thức đa hình p5 pps

Cao đẳng - Đại học

... trị đưa vào đối tượng cách tự động ngầm định dụ, gán kiểu liệu kiểu nguyên int vào biến kiểu Object (điều hoàn toàn hợp lệ kiểu int dẫn xuất từ lớp Object) giá trị đưa vào biến Object, ... định kiểu liệu giá trị sang kiểu liệu tham chiếu đối tượng Boxing giá trị cách tạo thể hiển đối tượng cần dùng chép giá trị vào đối tượng tạo Ta có hình vẽ sau minh họa trình Boxing số nguyên 14 4 ... 12 3 object o=i; k 12 3 int k = (int)o; Hình 5. 6: Unboxing sau thực Boxing Để thực unboxing thành công, đối tượng unboxing phải tham chiếu đến đối tượng, đối tượng tạo việc boxing giá trị với kiểu...
  • 5
  • 344
  • 0
Giáo trình hướng dẫn tạo ra những kiểu dữ liệu mới bằng việc tạo ra các lớp đối tượng theo phương thức đa hình p4 docx

Giáo trình hướng dẫn tạo ra những kiểu dữ liệu mới bằng việc tạo ra các lớp đối tượng theo phương thức đa hình p4 docx

Cao đẳng - Đại học

... trừu tượng sau: abstract public void Window dụ 5. 3 sau minh họa việc tạo lớp Window trừu tượng phương thức trừu tượng DrawWindow() lớp Window  dụ 5. 3: Sử dụng phương thức lớp trừu tượng ... phương thức bao gồm Equals() kiểm tra xem hai đối tượng có giống hay không Phương thức GetType() trả kiểu đối tượng phương thức ToString 14 2 Kế Thừa – Đa Hình ... winArray [1] = new ListBox( 3, 4, “Second List Box”); winArray[2] = new Button( 5, 6); for( int i=0; i
  • 5
  • 316
  • 0
Giáo trình hướng dẫn tạo ra những kiểu dữ liệu mới bằng việc tạo ra các lớp đối tượng theo phương thức đa hình p3 ppt

Giáo trình hướng dẫn tạo ra những kiểu dữ liệu mới bằng việc tạo ra các lớp đối tượng theo phương thức đa hình p3 ppt

Cao đẳng - Đại học

... Trong phần thân dụ 5. 2, ta tạo ba đối tượng, đối tượng thứ Window, đối tượng thứ hai lớp ListBox đối tượng cuối lớp Button Sau ta thực việc gọi phương thức DrawWindow() cho đối tượng sau: Window ... trí đối tượng Window mảng tương tự ta đặt đối tượng Button vào vị trí mảng đối tượng Window, Button Window Window[] winArray = new Window[3]; winArray[0] = new Window( 1, ); winArray [1] = new ... box is array”); winArray[2] = new Button( 5, ); Chuyện xảy gọi phương thức DrawWindow() cho đối tượng mảng winArray for( int i = 0; i < ; i++) { winArray[i].DrawWindow(); 13 4 Kế Thừa – Đa Hình Ngôn...
  • 5
  • 284
  • 0
Giáo trình hướng dẫn tạo ra những kiểu dữ liệu mới bằng việc tạo ra các lớp đối tượng theo phương thức đa hình p2 doc

Giáo trình hướng dẫn tạo ra những kiểu dữ liệu mới bằng việc tạo ra các lớp đối tượng theo phương thức đa hình p2 doc

Cao đẳng - Đại học

... phiên phương thức lớp sở Lớp dẫn xuất tạo phương thức việc đánh dấu với từ khóa new dụ 5. 1 sau minh họa việc tạo sử dụng lớp sở dẫn xuất  dụ 5. 1: Sử dụng lớp dẫn xuất ... Main() { // tạo đối tượng cho lớp sở Window w = new Window (5, 10 ); w.DrawWindow(); // tạo đối tượng cho lớp dẫn xuất ListBox lb = new ListBox( 20, 10 , “Hello world!”); lb.DrawWindow(); } 13 0 Kế Thừa ... lớp sở Trong dụ 5. 1, phương thức DrawWindow() lớp ListBox làm ẩn thay phương thức DrawWindow lớp sở Window Khi gọi phương thức DrawWindow đối tượng lớp ListBox phương thức ListBox.DrawWindow()...
  • 5
  • 313
  • 0
Giáo trình hướng dẫn tạo ra những kiểu dữ liệu mới bằng việc tạo ra các lớp đối tượng theo phương thức đa hình p1 pot

Giáo trình hướng dẫn tạo ra những kiểu dữ liệu mới bằng việc tạo ra các lớp đối tượng theo phương thức đa hình p1 pot

Cao đẳng - Đại học

... & tập Trong chương trước trình bày cách tạo kiểu liệu việc xây dựng lớp đối tượng Tiếp theo chương đưa sâu vào mối quan hệ đối tượng giới thực cách mô hình hóa quan hệ xây dựng chương trình Chương ... qua kế thừa (inheritance) 1 25 Kế Thừa – Đa Hình Ngôn Ngữ Lập Trình C# Khái niệm đa hình (polymorphism) trình bày chương 5, khái niệm quan trọng lập trình hướng đối tượng Khái niệm cho phép thể ... không đặt biệt hóa, hay lớp trừu tượng sử dụng đặc biệt hóa Lớp đối tượng Object gốc tất lớp thảo luận phần cuối chương Đặc biệt hóa tổng quát hóa Lớp thể lớp tức đối tượng không tồn khối, chúng tồn...
  • 5
  • 318
  • 0

Xem thêm

Tìm thêm: hệ việt nam nhật bản và sức hấp dẫn của tiếng nhật tại việt nam xác định các mục tiêu của chương trình khảo sát chương trình đào tạo của các đơn vị đào tạo tại nhật bản khảo sát chương trình đào tạo gắn với các giáo trình cụ thể xác định thời lượng học về mặt lí thuyết và thực tế tiến hành xây dựng chương trình đào tạo dành cho đối tượng không chuyên ngữ tại việt nam điều tra đối với đối tượng giảng viên và đối tượng quản lí điều tra với đối tượng sinh viên học tiếng nhật không chuyên ngữ1 nội dung cụ thể cho từng kĩ năng ở từng cấp độ xác định mức độ đáp ứng về văn hoá và chuyên môn trong ct phát huy những thành tựu công nghệ mới nhất được áp dụng vào công tác dạy và học ngoại ngữ hệ số công suất cosp fi p2 đặc tuyến hiệu suất h fi p2 đặc tuyến mômen quay m fi p2 đặc tuyến tốc độ rôto n fi p2 đặc tuyến dòng điện stato i1 fi p2 động cơ điện không đồng bộ một pha phần 3 giới thiệu nguyên liệu từ bảng 3 1 ta thấy ngoài hai thành phần chủ yếu và chiếm tỷ lệ cao nhất là tinh bột và cacbonhydrat trong hạt gạo tẻ còn chứa đường cellulose hemicellulose chỉ tiêu chất lượng theo chất lượng phẩm chất sản phẩm khô từ gạo của bộ y tế năm 2008