Я новичок в C мире и у меня есть два, вероятно, глупые вопросы.
Я читаю о структурах в C и вот где я застрял. Скажем, у нас есть такая структура
typedef structs {
char model[50];
int yearOfManufacture;
int price;
} Car;
Car Ford;
Ford.yearOfManufacture = 1997;
Ford.price = 3000;
//The line below gives me an error "Array type char[50] is not assignable
Ford.model = "Focus"
Как передать текст в Ford.model в этом случае?
Мой второй вопрос также о последовательностях. Этот код работает нормально
char model[50] = "Focus";
printf("Model is %s", model);
Но этот код не
char model[50];
model = "Focus";
Может ли кто-нибудь объяснить, почему он не работает?
-121--1797893-
Воспроизведение! рамка генерирует getters и setters для каждого открытого поля класса модели во время выполнения .
public class Product {
public String name;
public Integer price;
}
будет преобразовано в
public class Product {
public String name;
public Integer price;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public Integer getPrice() {
return price;
}
public void setPrice(Integer price) {
this.price = price;
}
}
Руководство объясняет далее:
Тогда, когда вы хотите получить доступ к свойству, вы можете просто написать:
product.name = "My product";
product.price = 58;
Что переводится во время загрузки в:
product.setName("My product");
product.setPrice(58);
... и предупреждает:
Для доступа к свойствам нельзя напрямую использовать методы getter и setter если вы полагаетесь на автоматическую генерацию. Эти методы генерируются в время выполнения. Таким образом, если вы ссылаетесь на них в написанном коде, компилятор не найдет методы и создаст ошибку.
Поскольку я не могу использовать эти приемники и установщики вне Игры! проект, я не вижу пользы в их генерации. Каковы преимущества по сравнению с общедоступными полями, рефакторингами (инкапсулированием поля и изменением вызывающих абонентов) всех современных IDE?