Bài 2 Tổng quan OOP netcore mvc Codegym

31 74 0
Bài 2 Tổng quan OOP netcore mvc Codegym

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

Lớp là đơn vị thực thi cơ bản trong ngôn ngữ CLớp quy định hình thức và các khả năng của các đối tượngKhai báo lớp đồng thời cũng là khai báo một kiểu dữ liệu mới để có thể khởi tạo các đối tượng thuộc kiểu dữ liệu đó

Bài Lớp Đối tượng Module: BOOTCAMP WEB-BACKEND DEVELOPMENT Kiểm tra trước Hỏi trao đổi khó khăn gặp phải “Ngơn ngữ lập trình C#" Tóm tắt lại phần học từ “Ngơn ngữ lập trình C#” Mục tiêu • Trình bày mơ hình lập trình hướng đối tượng • Trình bày khái niệm lớp, đối tượng, phương thức, thuộc tính, hàm tạo • Trình bày cú pháp khái báo lớp • Trình bày cú pháp khởi tạo đối tượng • Trình bày cách truy xuất thuộc tính, phương thức lớp • Tạo sử dụng đối tượng đơn giản • Mơ tả lớp biểu đồ Thảo luận Đối tượng Lớp Khai báo lớp • Lớp đơn vị thực thi ngơn ngữ C# • Lớp quy định hình thức khả đối tượng • Khai báo lớp đồng thời khai báo kiểu liệu để khởi tạo đối tượng thuộc kiểu liệu Cú pháp khai báo lớp • Cú pháp: //[access modifier] - [class] - [identifier] public class Class_name { // Fields, properties, methods and events go here Trong đó: } • class từ khố dùng để khai báo biến • Class_name tên lớp • // Fields, properties, methods and events go here phần thân lớp: nơi khai báo thành phần lớp trường (field), phương thức (method) phương thức khởi tạo (constructor) • Constructor – phương thức khởi tạo: phương thức đặc biệt sử dụng để khởi tạo đối tượng lớp Đặt tên lớp • Một số quy ước đặt tên lớp: • • • • • Tên lớp nên danh từ Tên lớp nên tuân theo quy tắc Camel Tên lớp nên đơn giản, có nghĩa Tên lớp khơng thể trùng với từ khố C# Tên lớp khơng bắt đầu chữ số Có thể bắt đầu ký tự dollar ($) dấu gạch (_) Khai báo lớp: Ví dụ Class Name Constructor Save File Person.cs /** * Write a description of class Person here * * @author CodeGym * @version 1/1/2018 * */ public class Person { /** * Hàm tạo đối tượng lớp */ public Person() { // Khởi tạo đối tượng: } } Khởi tạo đối tượng • Có thể khởi tạo đối tượng lớp sau lớp khai báo • Sử dụng từ khố new để khởi tạo đối tượng • Cú pháp: = new (); Customer object1 = new Customer(); Trong đó: • class_name tên lớp • new từ khố để khởi tạo đối tượng • object_name tên biến chứa tham chiếu trỏ đến đối tượng Khởi tạo đối tượng: Ví dụ • Ví dụ: Person personObj = new Person(); Trong đó: • Biểu thức new Person() phía bên phải cấp phát nhớ thời điểm thực thi • Sau vùng nhớ cấp phát tham chiếu đến vùng nhớ trả gán cho biến personObj • Có thể tách rời việc khai báo biến khởi tạo đối tượng, Person personObj; ví dụ: personObj = new Person(); Sử dụng constructor • Có thể lựa chọn sử dụng constructor khác cách truyền vào tham số khác • Ví dụ: public Person() { name = "No name"; age = 10; } personObj = new Person(); public Person(String s, int n) { name = s; age = n; } personObj = new Person("John", 20); Demo Tạo lớp với loại constructor Tạo đối tượng Destructor • Destructor thành phần đặc biệt lớp, dùng để thực thi giải pháp lớp • Destructor hữu dụng dùng để giải phóng nhớ trước khỏi chương trình • Cú pháp: ~() { //destructor body; } • Ví dụ: ~Line() { //destructor Console.WriteLine("Object is being deleted"); } Thảo luận Truy xuất thuộc tính Gọi phương thức Truy xuất thuộc tính đối tượng • Có thể truy xuất thành phần đối tượng thông qua biến trỏ đến đối tượng • Sử dụng dấu chấm (.) để truy xuất thuộc tính đối tượng • Ví dụ: Person personObj; personObj = new Person("John", 20); Console.WriteLine("My name is: " + personObj.Name); Console.WriteLine("My age is: " + personObj.Age); Lưu ý: Quyền truy xuất đến thành phần đối tượng quy định access modifier (public/private/protected/default), đề cập đến sau Gọi phương thức • Sử dụng dấu chấm (.) để gọi phương thức đối tượng • Ví dụ: Person personObj; personObj = new Person(); String greeting = personObj.SayHello(); Thảo luận Getter Setter Truy cập trực tiếp vào trường liệu • Sử dụng từ khố public khai báo thuộc tính cho phép truy cập trực tiếp vào thuộc tính • Ví dụ: Khai báo lớp Person sau cho phép truy cập trực tiếp vào trường name Person person = new Person(); class Person{ person.name = "John"; public String name; } • Nhược điểm: • Khơng kiểm sốt truy cập vào thuộc tính • Gây khó khăn cho việc trì, dễ phát sinh bug Data field encapsulation • Data field encapsulation (bao gói trường liệu) hình thức hạn chế quyền truy cập trực tiếp vào thuộc tính đối tượng cách sử dụng từ khoá private • Khai báo phương thức để kiểm soát việc truy cập vào thuộc tính đối tượng • Các phương thức cho phép thay đổi giá trị thuộc tính gọi setter, phương thức cho phép lấy giá trị thuộc tính gọi getter • Ví dụ getter: Name, Age, Date, IsAvailable… • Ví dụ setter: Name(), Age(), Address()… Khai báo getter/setter • Cú pháp khai báo getter/setter: { get { return ; } set { = value; } } public double Seconds{ get { return _seconds; } set { _seconds = value; } } Getter and setter • Một số cách khác để khai báo Getter Setter • Cách khai báo property khai báo field Từ khoá this • Từ khố this sử dụng để đại diện cho đối tượng tại, phiên C# khơng khuyến khích sử dụng this, gọi trực tiếp thuộc tính,phương thức khai báo class class Person{ private String name; class Person{ private String name; } public void setName(String name){ name = name; } } public void setName(String name){ this.name = name; } Demo Sử dụng getter/setter Sử dụng this Tóm tắt học • Lập trình hướng đối tượng (OOP) mơ hình lập trình phổ biến • OOP mơ đối tượng giới thực vào giới lập trình • Từ khoá class sử dụng để khai báo lớp • Từ khố new sử dụng để khởi tạo đối tượng • Thuộc tính mơ tả đặc điểm đối tượng • Phương thức mơ tả hành vi đối tượng • Phương thức khởi tạo (constructor) phương thức giúp khởi tạo đối tượng • Nếu khơng khai báo constructor mặc định lớp có constructor khơng tham số • Có thể mơ tả lớp ký hiệu UML • Có thể truy xuất thành phần lớp thơng qua dấu chấm (.) Hướng dẫn Hướng dẫn làm thực hành tập Chuẩn bị tiếp theo: Access modifier, static method, static property ... Demo Sử dụng getter/setter Sử dụng this Tóm tắt học • Lập trình hướng đối tượng (OOP) mơ hình lập trình phổ biến • OOP mơ đối tượng giới thực vào giới lập trình • Từ khố class sử dụng để khai báo

Ngày đăng: 24/11/2019, 09:08

Từ khóa liên quan

Mục lục

  • Slide 1

  • Kiểm tra bài trước

  • Mục tiêu

  • Thảo luận

  • Khai báo lớp

  • Cú pháp khai báo lớp

  • Đặt tên lớp

  • Khai báo lớp: Ví dụ

  • Khởi tạo đối tượng

  • Khởi tạo đối tượng: Ví dụ

  • Demo

  • Quá trình khởi tạo đối tượng - 1

  • Quá trình khởi tạo đối tượng - 2

  • Khai báo thuộc tính

  • Khai báo phương thức

  • Constructor

  • Sử dụng constructor

  • Demo

  • Destructor

  • Thảo luận

Tài liệu cùng người dùng

  • Đang cập nhật ...

Tài liệu liên quan